summaryrefslogtreecommitdiff
path: root/desktop/node_modules/minimist
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/node_modules/minimist')
-rw-r--r--desktop/node_modules/minimist/.eslintrc29
-rw-r--r--desktop/node_modules/minimist/.github/FUNDING.yml12
-rw-r--r--desktop/node_modules/minimist/.nycrc14
-rw-r--r--desktop/node_modules/minimist/CHANGELOG.md298
-rw-r--r--desktop/node_modules/minimist/LICENSE18
-rw-r--r--desktop/node_modules/minimist/README.md121
-rw-r--r--desktop/node_modules/minimist/example/parse.js4
-rw-r--r--desktop/node_modules/minimist/index.js263
-rw-r--r--desktop/node_modules/minimist/package.json75
-rw-r--r--desktop/node_modules/minimist/test/all_bool.js34
-rw-r--r--desktop/node_modules/minimist/test/bool.js177
-rw-r--r--desktop/node_modules/minimist/test/dash.js43
-rw-r--r--desktop/node_modules/minimist/test/default_bool.js37
-rw-r--r--desktop/node_modules/minimist/test/dotted.js24
-rw-r--r--desktop/node_modules/minimist/test/kv_short.js32
-rw-r--r--desktop/node_modules/minimist/test/long.js33
-rw-r--r--desktop/node_modules/minimist/test/num.js38
-rw-r--r--desktop/node_modules/minimist/test/parse.js209
-rw-r--r--desktop/node_modules/minimist/test/parse_modified.js11
-rw-r--r--desktop/node_modules/minimist/test/proto.js64
-rw-r--r--desktop/node_modules/minimist/test/short.js69
-rw-r--r--desktop/node_modules/minimist/test/stop_early.js17
-rw-r--r--desktop/node_modules/minimist/test/unknown.js104
-rw-r--r--desktop/node_modules/minimist/test/whitespace.js10
24 files changed, 1736 insertions, 0 deletions
diff --git a/desktop/node_modules/minimist/.eslintrc b/desktop/node_modules/minimist/.eslintrc
new file mode 100644
index 0000000..bd1a5e0
--- /dev/null
+++ b/desktop/node_modules/minimist/.eslintrc
@@ -0,0 +1,29 @@
+{
+ "root": true,
+
+ "extends": "@ljharb/eslint-config/node/0.4",
+
+ "rules": {
+ "array-element-newline": 0,
+ "complexity": 0,
+ "func-style": [2, "declaration"],
+ "max-lines-per-function": 0,
+ "max-nested-callbacks": 1,
+ "max-statements-per-line": 1,
+ "max-statements": 0,
+ "multiline-comment-style": 0,
+ "no-continue": 1,
+ "no-param-reassign": 1,
+ "no-restricted-syntax": 1,
+ "object-curly-newline": 0,
+ },
+
+ "overrides": [
+ {
+ "files": "test/**",
+ "rules": {
+ "camelcase": 0,
+ },
+ },
+ ]
+}
diff --git a/desktop/node_modules/minimist/.github/FUNDING.yml b/desktop/node_modules/minimist/.github/FUNDING.yml
new file mode 100644
index 0000000..a936622
--- /dev/null
+++ b/desktop/node_modules/minimist/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: [ljharb]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: npm/minimist
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/desktop/node_modules/minimist/.nycrc b/desktop/node_modules/minimist/.nycrc
new file mode 100644
index 0000000..55c3d29
--- /dev/null
+++ b/desktop/node_modules/minimist/.nycrc
@@ -0,0 +1,14 @@
+{
+ "all": true,
+ "check-coverage": false,
+ "reporter": ["text-summary", "text", "html", "json"],
+ "lines": 86,
+ "statements": 85.93,
+ "functions": 82.43,
+ "branches": 76.06,
+ "exclude": [
+ "coverage",
+ "example",
+ "test"
+ ]
+}
diff --git a/desktop/node_modules/minimist/CHANGELOG.md b/desktop/node_modules/minimist/CHANGELOG.md
new file mode 100644
index 0000000..c9a1e15
--- /dev/null
+++ b/desktop/node_modules/minimist/CHANGELOG.md
@@ -0,0 +1,298 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [v1.2.8](https://github.com/minimistjs/minimist/compare/v1.2.7...v1.2.8) - 2023-02-09
+
+### Merged
+
+- [Fix] Fix long option followed by single dash [`#17`](https://github.com/minimistjs/minimist/pull/17)
+- [Tests] Remove duplicate test [`#12`](https://github.com/minimistjs/minimist/pull/12)
+- [Fix] opt.string works with multiple aliases [`#10`](https://github.com/minimistjs/minimist/pull/10)
+
+### Fixed
+
+- [Fix] Fix long option followed by single dash (#17) [`#15`](https://github.com/minimistjs/minimist/issues/15)
+- [Tests] Remove duplicate test (#12) [`#8`](https://github.com/minimistjs/minimist/issues/8)
+- [Fix] Fix long option followed by single dash [`#15`](https://github.com/minimistjs/minimist/issues/15)
+- [Fix] opt.string works with multiple aliases (#10) [`#9`](https://github.com/minimistjs/minimist/issues/9)
+- [Fix] Fix handling of short option with non-trivial equals [`#5`](https://github.com/minimistjs/minimist/issues/5)
+- [Tests] Remove duplicate test [`#8`](https://github.com/minimistjs/minimist/issues/8)
+- [Fix] opt.string works with multiple aliases [`#9`](https://github.com/minimistjs/minimist/issues/9)
+
+### Commits
+
+- Merge tag 'v0.2.3' [`a026794`](https://github.com/minimistjs/minimist/commit/a0267947c7870fc5847cf2d437fbe33f392767da)
+- [eslint] fix indentation and whitespace [`5368ca4`](https://github.com/minimistjs/minimist/commit/5368ca4147e974138a54cc0dc4cea8f756546b70)
+- [eslint] fix indentation and whitespace [`e5f5067`](https://github.com/minimistjs/minimist/commit/e5f5067259ceeaf0b098d14bec910f87e58708c7)
+- [eslint] more cleanup [`62fde7d`](https://github.com/minimistjs/minimist/commit/62fde7d935f83417fb046741531a9e2346a36976)
+- [eslint] more cleanup [`36ac5d0`](https://github.com/minimistjs/minimist/commit/36ac5d0d95e4947d074e5737d94814034ca335d1)
+- [meta] add `auto-changelog` [`73923d2`](https://github.com/minimistjs/minimist/commit/73923d223553fca08b1ba77e3fbc2a492862ae4c)
+- [actions] add reusable workflows [`d80727d`](https://github.com/minimistjs/minimist/commit/d80727df77bfa9e631044d7f16368d8f09242c91)
+- [eslint] add eslint; rules to enable later are warnings [`48bc06a`](https://github.com/minimistjs/minimist/commit/48bc06a1b41f00e9cdf183db34f7a51ba70e98d4)
+- [eslint] fix indentation [`34b0f1c`](https://github.com/minimistjs/minimist/commit/34b0f1ccaa45183c3c4f06a91f9b405180a6f982)
+- [readme] rename and add badges [`5df0fe4`](https://github.com/minimistjs/minimist/commit/5df0fe49211bd09a3636f8686a7cb3012c3e98f0)
+- [Dev Deps] switch from `covert` to `nyc` [`a48b128`](https://github.com/minimistjs/minimist/commit/a48b128fdb8d427dfb20a15273f83e38d97bef07)
+- [Dev Deps] update `covert`, `tape`; remove unnecessary `tap` [`f0fb958`](https://github.com/minimistjs/minimist/commit/f0fb958e9a1fe980cdffc436a211b0bda58f621b)
+- [meta] create FUNDING.yml; add `funding` in package.json [`3639e0c`](https://github.com/minimistjs/minimist/commit/3639e0c819359a366387e425ab6eabf4c78d3caa)
+- [meta] use `npmignore` to autogenerate an npmignore file [`be2e038`](https://github.com/minimistjs/minimist/commit/be2e038c342d8333b32f0fde67a0026b79c8150e)
+- Only apps should have lockfiles [`282b570`](https://github.com/minimistjs/minimist/commit/282b570e7489d01b03f2d6d3dabf79cd3e5f84cf)
+- isConstructorOrProto adapted from PR [`ef9153f`](https://github.com/minimistjs/minimist/commit/ef9153fc52b6cea0744b2239921c5dcae4697f11)
+- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`098873c`](https://github.com/minimistjs/minimist/commit/098873c213cdb7c92e55ae1ef5aa1af3a8192a79)
+- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`3124ed3`](https://github.com/minimistjs/minimist/commit/3124ed3e46306301ebb3c834874ce0241555c2c4)
+- [meta] add `safe-publish-latest` [`4b927de`](https://github.com/minimistjs/minimist/commit/4b927de696d561c636b4f43bf49d4597cb36d6d6)
+- [Tests] add `aud` in `posttest` [`b32d9bd`](https://github.com/minimistjs/minimist/commit/b32d9bd0ab340f4e9f8c3a97ff2a4424f25fab8c)
+- [meta] update repo URLs [`f9fdfc0`](https://github.com/minimistjs/minimist/commit/f9fdfc032c54884d9a9996a390c63cd0719bbe1a)
+- [actions] Avoid 0.6 tests due to build failures [`ba92fe6`](https://github.com/minimistjs/minimist/commit/ba92fe6ebbdc0431cca9a2ea8f27beb492f5e4ec)
+- [Dev Deps] update `tape` [`950eaa7`](https://github.com/minimistjs/minimist/commit/950eaa74f112e04d23e9c606c67472c46739b473)
+- [Dev Deps] add missing `npmignore` dev dep [`3226afa`](https://github.com/minimistjs/minimist/commit/3226afaf09e9d127ca369742437fe6e88f752d6b)
+- Merge tag 'v0.2.2' [`980d7ac`](https://github.com/minimistjs/minimist/commit/980d7ac61a0b4bd552711251ac107d506b23e41f)
+
+## [v1.2.7](https://github.com/minimistjs/minimist/compare/v1.2.6...v1.2.7) - 2022-10-10
+
+### Commits
+
+- [meta] add `auto-changelog` [`0ebf4eb`](https://github.com/minimistjs/minimist/commit/0ebf4ebcd5f7787a5524d31a849ef41316b83c3c)
+- [actions] add reusable workflows [`e115b63`](https://github.com/minimistjs/minimist/commit/e115b63fa9d3909f33b00a2db647ff79068388de)
+- [eslint] add eslint; rules to enable later are warnings [`f58745b`](https://github.com/minimistjs/minimist/commit/f58745b9bb84348e1be72af7dbba5840c7c13013)
+- [Dev Deps] switch from `covert` to `nyc` [`ab03356`](https://github.com/minimistjs/minimist/commit/ab033567b9c8b31117cb026dc7f1e592ce455c65)
+- [readme] rename and add badges [`236f4a0`](https://github.com/minimistjs/minimist/commit/236f4a07e4ebe5ee44f1496ec6974991ab293ffd)
+- [meta] create FUNDING.yml; add `funding` in package.json [`783a49b`](https://github.com/minimistjs/minimist/commit/783a49bfd47e8335d3098a8cac75662cf71eb32a)
+- [meta] use `npmignore` to autogenerate an npmignore file [`f81ece6`](https://github.com/minimistjs/minimist/commit/f81ece6aaec2fa14e69ff4f1e0407a8c4e2635a2)
+- Only apps should have lockfiles [`56cad44`](https://github.com/minimistjs/minimist/commit/56cad44c7f879b9bb5ec18fcc349308024a89bfc)
+- [Dev Deps] update `covert`, `tape`; remove unnecessary `tap` [`49c5f9f`](https://github.com/minimistjs/minimist/commit/49c5f9fb7e6a92db9eb340cc679de92fb3aacded)
+- [Tests] add `aud` in `posttest` [`228ae93`](https://github.com/minimistjs/minimist/commit/228ae938f3cd9db9dfd8bd7458b076a7b2aef280)
+- [meta] add `safe-publish-latest` [`01fc23f`](https://github.com/minimistjs/minimist/commit/01fc23f5104f85c75059972e01dd33796ab529ff)
+- [meta] update repo URLs [`6b164c7`](https://github.com/minimistjs/minimist/commit/6b164c7d68e0b6bf32f894699effdfb7c63041dd)
+
+## [v1.2.6](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.6) - 2022-03-21
+
+### Commits
+
+- test from prototype pollution PR [`bc8ecee`](https://github.com/minimistjs/minimist/commit/bc8ecee43875261f4f17eb20b1243d3ed15e70eb)
+- isConstructorOrProto adapted from PR [`c2b9819`](https://github.com/minimistjs/minimist/commit/c2b981977fa834b223b408cfb860f933c9811e4d)
+- security notice for additional prototype pollution issue [`ef88b93`](https://github.com/minimistjs/minimist/commit/ef88b9325f77b5ee643ccfc97e2ebda577e4c4e2)
+
+## [v1.2.5](https://github.com/minimistjs/minimist/compare/v1.2.4...v1.2.5) - 2020-03-12
+
+## [v1.2.4](https://github.com/minimistjs/minimist/compare/v1.2.3...v1.2.4) - 2020-03-11
+
+### Commits
+
+- security notice [`4cf1354`](https://github.com/minimistjs/minimist/commit/4cf1354839cb972e38496d35e12f806eea92c11f)
+- additional test for constructor prototype pollution [`1043d21`](https://github.com/minimistjs/minimist/commit/1043d212c3caaf871966e710f52cfdf02f9eea4b)
+
+## [v1.2.3](https://github.com/minimistjs/minimist/compare/v1.2.2...v1.2.3) - 2020-03-10
+
+### Commits
+
+- more failing proto pollution tests [`13c01a5`](https://github.com/minimistjs/minimist/commit/13c01a5327736903704984b7f65616b8476850cc)
+- even more aggressive checks for protocol pollution [`38a4d1c`](https://github.com/minimistjs/minimist/commit/38a4d1caead72ef99e824bb420a2528eec03d9ab)
+
+## [v1.2.2](https://github.com/minimistjs/minimist/compare/v1.2.1...v1.2.2) - 2020-03-10
+
+### Commits
+
+- failing test for protocol pollution [`0efed03`](https://github.com/minimistjs/minimist/commit/0efed0340ec8433638758f7ca0c77cb20a0bfbab)
+- cleanup [`67d3722`](https://github.com/minimistjs/minimist/commit/67d3722413448d00a62963d2d30c34656a92d7e2)
+- console.dir -> console.log [`47acf72`](https://github.com/minimistjs/minimist/commit/47acf72c715a630bf9ea013867f47f1dd69dfc54)
+- don't assign onto __proto__ [`63e7ed0`](https://github.com/minimistjs/minimist/commit/63e7ed05aa4b1889ec2f3b196426db4500cbda94)
+
+## [v1.2.1](https://github.com/minimistjs/minimist/compare/v1.2.0...v1.2.1) - 2020-03-10
+
+### Merged
+
+- move the `opts['--']` example back where it belongs [`#63`](https://github.com/minimistjs/minimist/pull/63)
+
+### Commits
+
+- add test [`6be5dae`](https://github.com/minimistjs/minimist/commit/6be5dae35a32a987bcf4137fcd6c19c5200ee909)
+- fix bad boolean regexp [`ac3fc79`](https://github.com/minimistjs/minimist/commit/ac3fc796e63b95128fdbdf67ea7fad71bd59aa76)
+
+## [v1.2.0](https://github.com/minimistjs/minimist/compare/v1.1.3...v1.2.0) - 2015-08-24
+
+### Commits
+
+- failing -k=v short test [`63416b8`](https://github.com/minimistjs/minimist/commit/63416b8cd1d0d70e4714564cce465a36e4dd26d7)
+- kv short fix [`6bbe145`](https://github.com/minimistjs/minimist/commit/6bbe14529166245e86424f220a2321442fe88dc3)
+- failing kv short test [`f72ab7f`](https://github.com/minimistjs/minimist/commit/f72ab7f4572adc52902c9b6873cc969192f01b10)
+- fixed kv test [`f5a48c3`](https://github.com/minimistjs/minimist/commit/f5a48c3e50e40ca54f00c8e84de4b4d6e9897fa8)
+- enforce space between arg key and value [`86b321a`](https://github.com/minimistjs/minimist/commit/86b321affe648a8e016c095a4f0efa9d9074f502)
+
+## [v1.1.3](https://github.com/minimistjs/minimist/compare/v1.1.2...v1.1.3) - 2015-08-06
+
+### Commits
+
+- add failing test - boolean alias array [`0fa3c5b`](https://github.com/minimistjs/minimist/commit/0fa3c5b3dd98551ddecf5392831b4c21211743fc)
+- fix boolean values with multiple aliases [`9c0a6e7`](https://github.com/minimistjs/minimist/commit/9c0a6e7de25a273b11bbf9a7464f0bd833779795)
+
+## [v1.1.2](https://github.com/minimistjs/minimist/compare/v1.1.1...v1.1.2) - 2015-07-22
+
+### Commits
+
+- Convert boolean arguments to boolean values [`8f3dc27`](https://github.com/minimistjs/minimist/commit/8f3dc27cf833f1d54671b6d0bcb55c2fe19672a9)
+- use non-ancient npm, node 0.12 and iojs [`61ed1d0`](https://github.com/minimistjs/minimist/commit/61ed1d034b9ec7282764ce76f3992b1a0b4906ae)
+- an older npm for 0.8 [`25cf778`](https://github.com/minimistjs/minimist/commit/25cf778b1220e7838a526832ad6972f75244054f)
+
+## [v1.1.1](https://github.com/minimistjs/minimist/compare/v1.1.0...v1.1.1) - 2015-03-10
+
+### Commits
+
+- check that they type of a value is a boolean, not just that it is currently set to a boolean [`6863198`](https://github.com/minimistjs/minimist/commit/6863198e36139830ff1f20ffdceaddd93f2c1db9)
+- upgrade tape, fix type issues from old tape version [`806712d`](https://github.com/minimistjs/minimist/commit/806712df91604ed02b8e39aa372b84aea659ee34)
+- test for setting a boolean to a null default [`8c444fe`](https://github.com/minimistjs/minimist/commit/8c444fe89384ded7d441c120915ea60620b01dd3)
+- if the previous value was a boolean, without an default (or with an alias) don't make an array either [`e5f419a`](https://github.com/minimistjs/minimist/commit/e5f419a3b5b3bc3f9e5ac71b7040621af70ed2dd)
+
+## [v1.1.0](https://github.com/minimistjs/minimist/compare/v1.0.0...v1.1.0) - 2014-08-10
+
+### Commits
+
+- add support for handling "unknown" options not registered with the parser. [`6f3cc5d`](https://github.com/minimistjs/minimist/commit/6f3cc5d4e84524932a6ef2ce3592acc67cdd4383)
+- reformat package.json [`02ed371`](https://github.com/minimistjs/minimist/commit/02ed37115194d3697ff358e8e25e5e66bab1d9f8)
+- coverage script [`e5531ba`](https://github.com/minimistjs/minimist/commit/e5531ba0479da3b8138d3d8cac545d84ccb1c8df)
+- extra fn to get 100% coverage again [`a6972da`](https://github.com/minimistjs/minimist/commit/a6972da89e56bf77642f8ec05a13b6558db93498)
+
+## [v1.0.0](https://github.com/minimistjs/minimist/compare/v0.2.3...v1.0.0) - 2014-08-10
+
+### Commits
+
+- added stopEarly option [`471c7e4`](https://github.com/minimistjs/minimist/commit/471c7e4a7e910fc7ad8f9df850a186daf32c64e9)
+- fix list [`fef6ae7`](https://github.com/minimistjs/minimist/commit/fef6ae79c38b9dc1c49569abb7cd04eb965eac5e)
+
+## [v0.2.3](https://github.com/minimistjs/minimist/compare/v0.2.2...v0.2.3) - 2023-02-09
+
+### Merged
+
+- [Fix] Fix long option followed by single dash [`#17`](https://github.com/minimistjs/minimist/pull/17)
+- [Tests] Remove duplicate test [`#12`](https://github.com/minimistjs/minimist/pull/12)
+- [Fix] opt.string works with multiple aliases [`#10`](https://github.com/minimistjs/minimist/pull/10)
+
+### Fixed
+
+- [Fix] Fix long option followed by single dash (#17) [`#15`](https://github.com/minimistjs/minimist/issues/15)
+- [Tests] Remove duplicate test (#12) [`#8`](https://github.com/minimistjs/minimist/issues/8)
+- [Fix] opt.string works with multiple aliases (#10) [`#9`](https://github.com/minimistjs/minimist/issues/9)
+
+### Commits
+
+- [eslint] fix indentation and whitespace [`e5f5067`](https://github.com/minimistjs/minimist/commit/e5f5067259ceeaf0b098d14bec910f87e58708c7)
+- [eslint] more cleanup [`36ac5d0`](https://github.com/minimistjs/minimist/commit/36ac5d0d95e4947d074e5737d94814034ca335d1)
+- [eslint] fix indentation [`34b0f1c`](https://github.com/minimistjs/minimist/commit/34b0f1ccaa45183c3c4f06a91f9b405180a6f982)
+- isConstructorOrProto adapted from PR [`ef9153f`](https://github.com/minimistjs/minimist/commit/ef9153fc52b6cea0744b2239921c5dcae4697f11)
+- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`098873c`](https://github.com/minimistjs/minimist/commit/098873c213cdb7c92e55ae1ef5aa1af3a8192a79)
+- [Dev Deps] add missing `npmignore` dev dep [`3226afa`](https://github.com/minimistjs/minimist/commit/3226afaf09e9d127ca369742437fe6e88f752d6b)
+
+## [v0.2.2](https://github.com/minimistjs/minimist/compare/v0.2.1...v0.2.2) - 2022-10-10
+
+### Commits
+
+- [meta] add `auto-changelog` [`73923d2`](https://github.com/minimistjs/minimist/commit/73923d223553fca08b1ba77e3fbc2a492862ae4c)
+- [actions] add reusable workflows [`d80727d`](https://github.com/minimistjs/minimist/commit/d80727df77bfa9e631044d7f16368d8f09242c91)
+- [eslint] add eslint; rules to enable later are warnings [`48bc06a`](https://github.com/minimistjs/minimist/commit/48bc06a1b41f00e9cdf183db34f7a51ba70e98d4)
+- [readme] rename and add badges [`5df0fe4`](https://github.com/minimistjs/minimist/commit/5df0fe49211bd09a3636f8686a7cb3012c3e98f0)
+- [Dev Deps] switch from `covert` to `nyc` [`a48b128`](https://github.com/minimistjs/minimist/commit/a48b128fdb8d427dfb20a15273f83e38d97bef07)
+- [Dev Deps] update `covert`, `tape`; remove unnecessary `tap` [`f0fb958`](https://github.com/minimistjs/minimist/commit/f0fb958e9a1fe980cdffc436a211b0bda58f621b)
+- [meta] create FUNDING.yml; add `funding` in package.json [`3639e0c`](https://github.com/minimistjs/minimist/commit/3639e0c819359a366387e425ab6eabf4c78d3caa)
+- [meta] use `npmignore` to autogenerate an npmignore file [`be2e038`](https://github.com/minimistjs/minimist/commit/be2e038c342d8333b32f0fde67a0026b79c8150e)
+- Only apps should have lockfiles [`282b570`](https://github.com/minimistjs/minimist/commit/282b570e7489d01b03f2d6d3dabf79cd3e5f84cf)
+- [meta] add `safe-publish-latest` [`4b927de`](https://github.com/minimistjs/minimist/commit/4b927de696d561c636b4f43bf49d4597cb36d6d6)
+- [Tests] add `aud` in `posttest` [`b32d9bd`](https://github.com/minimistjs/minimist/commit/b32d9bd0ab340f4e9f8c3a97ff2a4424f25fab8c)
+- [meta] update repo URLs [`f9fdfc0`](https://github.com/minimistjs/minimist/commit/f9fdfc032c54884d9a9996a390c63cd0719bbe1a)
+
+## [v0.2.1](https://github.com/minimistjs/minimist/compare/v0.2.0...v0.2.1) - 2020-03-12
+
+## [v0.2.0](https://github.com/minimistjs/minimist/compare/v0.1.0...v0.2.0) - 2014-06-19
+
+### Commits
+
+- support all-boolean mode [`450a97f`](https://github.com/minimistjs/minimist/commit/450a97f6e2bc85c7a4a13185c19a818d9a5ebe69)
+
+## [v0.1.0](https://github.com/minimistjs/minimist/compare/v0.0.10...v0.1.0) - 2014-05-12
+
+### Commits
+
+- Provide a mechanism to segregate -- arguments [`ce4a1e6`](https://github.com/minimistjs/minimist/commit/ce4a1e63a7e8d5ab88d2a3768adefa6af98a445a)
+- documented argv['--'] [`14db0e6`](https://github.com/minimistjs/minimist/commit/14db0e6dbc6d2b9e472adaa54dad7004b364634f)
+- Adding a test-case for notFlags segregation [`715c1e3`](https://github.com/minimistjs/minimist/commit/715c1e3714be223f998f6c537af6b505f0236c16)
+
+## [v0.0.10](https://github.com/minimistjs/minimist/compare/v0.0.9...v0.0.10) - 2014-05-11
+
+### Commits
+
+- dedicated boolean test [`46e448f`](https://github.com/minimistjs/minimist/commit/46e448f9f513cfeb2bcc8b688b9b47ba1e515c2b)
+- dedicated num test [`9bf2d36`](https://github.com/minimistjs/minimist/commit/9bf2d36f1d3b8795be90b8f7de0a937f098aa394)
+- aliased values treated as strings [`1ab743b`](https://github.com/minimistjs/minimist/commit/1ab743bad4484d69f1259bed42f9531de01119de)
+- cover the case of already numbers, at 100% coverage [`b2bb044`](https://github.com/minimistjs/minimist/commit/b2bb04436599d77a2ce029e8e555e25b3aa55d13)
+- another test for higher coverage [`3662624`](https://github.com/minimistjs/minimist/commit/3662624be976d5489d486a856849c048d13be903)
+
+## [v0.0.9](https://github.com/minimistjs/minimist/compare/v0.0.8...v0.0.9) - 2014-05-08
+
+### Commits
+
+- Eliminate `longest` fn. [`824f642`](https://github.com/minimistjs/minimist/commit/824f642038d1b02ede68b6261d1d65163390929a)
+
+## [v0.0.8](https://github.com/minimistjs/minimist/compare/v0.0.7...v0.0.8) - 2014-02-20
+
+### Commits
+
+- return '' if flag is string and empty [`fa63ed4`](https://github.com/minimistjs/minimist/commit/fa63ed4651a4ef4eefddce34188e0d98d745a263)
+- handle joined single letters [`66c248f`](https://github.com/minimistjs/minimist/commit/66c248f0241d4d421d193b022e9e365f11178534)
+
+## [v0.0.7](https://github.com/minimistjs/minimist/compare/v0.0.6...v0.0.7) - 2014-02-08
+
+### Commits
+
+- another swap of .test for .match [`d1da408`](https://github.com/minimistjs/minimist/commit/d1da40819acbe846d89a5c02721211e3c1260dde)
+
+## [v0.0.6](https://github.com/minimistjs/minimist/compare/v0.0.5...v0.0.6) - 2014-02-08
+
+### Commits
+
+- use .test() instead of .match() to not crash on non-string values in the arguments array [`7e0d1ad`](https://github.com/minimistjs/minimist/commit/7e0d1add8c9e5b9b20a4d3d0f9a94d824c578da1)
+
+## [v0.0.5](https://github.com/minimistjs/minimist/compare/v0.0.4...v0.0.5) - 2013-09-18
+
+### Commits
+
+- Improve '--' handling. [`b11822c`](https://github.com/minimistjs/minimist/commit/b11822c09cc9d2460f30384d12afc0b953c037a4)
+
+## [v0.0.4](https://github.com/minimistjs/minimist/compare/v0.0.3...v0.0.4) - 2013-09-17
+
+## [v0.0.3](https://github.com/minimistjs/minimist/compare/v0.0.2...v0.0.3) - 2013-09-12
+
+### Commits
+
+- failing test for single dash preceeding a double dash [`b465514`](https://github.com/minimistjs/minimist/commit/b465514b82c9ae28972d714facd951deb2ad762b)
+- fix for the dot test [`6a095f1`](https://github.com/minimistjs/minimist/commit/6a095f1d364c8fab2d6753d2291a0649315d297a)
+
+## [v0.0.2](https://github.com/minimistjs/minimist/compare/v0.0.1...v0.0.2) - 2013-08-28
+
+### Commits
+
+- allow dotted aliases & defaults [`321c33e`](https://github.com/minimistjs/minimist/commit/321c33e755485faaeb44eeb1c05d33b2e0a5a7c4)
+- use a better version of ff [`e40f611`](https://github.com/minimistjs/minimist/commit/e40f61114cf7be6f7947f7b3eed345853a67dbbb)
+
+## [v0.0.1](https://github.com/minimistjs/minimist/compare/v0.0.0...v0.0.1) - 2013-06-25
+
+### Commits
+
+- remove trailing commas [`6ff0fa0`](https://github.com/minimistjs/minimist/commit/6ff0fa055064f15dbe06d50b89d5173a6796e1db)
+
+## v0.0.0 - 2013-06-25
+
+### Commits
+
+- half of the parse test ported [`3079326`](https://github.com/minimistjs/minimist/commit/307932601325087de6cf94188eb798ffc4f3088a)
+- stripped down code and a passing test from optimist [`7cced88`](https://github.com/minimistjs/minimist/commit/7cced88d82e399d1a03ed23eb667f04d3f320d10)
+- ported parse tests completely over [`9448754`](https://github.com/minimistjs/minimist/commit/944875452e0820df6830b1408c26a0f7d3e1db04)
+- docs, package.json [`a5bf46a`](https://github.com/minimistjs/minimist/commit/a5bf46ac9bb3bd114a9c340276c62c1091e538d5)
+- move more short tests into short.js [`503edb5`](https://github.com/minimistjs/minimist/commit/503edb5c41d89c0d40831ee517154fc13b0f18b9)
+- default bool test was wrong, not the code [`1b9f5db`](https://github.com/minimistjs/minimist/commit/1b9f5db4741b49962846081b68518de824992097)
+- passing long tests ripped out of parse.js [`7972c4a`](https://github.com/minimistjs/minimist/commit/7972c4aff1f4803079e1668006658e2a761a0428)
+- badges [`84c0370`](https://github.com/minimistjs/minimist/commit/84c037063664d42878aace715fe6572ce01b6f3b)
+- all the tests now ported, some failures [`64239ed`](https://github.com/minimistjs/minimist/commit/64239edfe92c711c4eb0da254fcdfad2a5fdb605)
+- failing short test [`f8a5341`](https://github.com/minimistjs/minimist/commit/f8a534112dd1138d2fad722def56a848480c446f)
+- fixed the numeric test [`6b034f3`](https://github.com/minimistjs/minimist/commit/6b034f37c79342c60083ed97fd222e16928aac51)
diff --git a/desktop/node_modules/minimist/LICENSE b/desktop/node_modules/minimist/LICENSE
new file mode 100644
index 0000000..ee27ba4
--- /dev/null
+++ b/desktop/node_modules/minimist/LICENSE
@@ -0,0 +1,18 @@
+This software is released under the MIT license:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/desktop/node_modules/minimist/README.md b/desktop/node_modules/minimist/README.md
new file mode 100644
index 0000000..74da323
--- /dev/null
+++ b/desktop/node_modules/minimist/README.md
@@ -0,0 +1,121 @@
+# minimist <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
+
+[![github actions][actions-image]][actions-url]
+[![coverage][codecov-image]][codecov-url]
+[![License][license-image]][license-url]
+[![Downloads][downloads-image]][downloads-url]
+
+[![npm badge][npm-badge-png]][package-url]
+
+parse argument options
+
+This module is the guts of optimist's argument parser without all the
+fanciful decoration.
+
+# example
+
+``` js
+var argv = require('minimist')(process.argv.slice(2));
+console.log(argv);
+```
+
+```
+$ node example/parse.js -a beep -b boop
+{ _: [], a: 'beep', b: 'boop' }
+```
+
+```
+$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
+{
+ _: ['foo', 'bar', 'baz'],
+ x: 3,
+ y: 4,
+ n: 5,
+ a: true,
+ b: true,
+ c: true,
+ beep: 'boop'
+}
+```
+
+# security
+
+Previous versions had a prototype pollution bug that could cause privilege
+escalation in some circumstances when handling untrusted user input.
+
+Please use version 1.2.6 or later:
+
+* https://security.snyk.io/vuln/SNYK-JS-MINIMIST-2429795 (version <=1.2.5)
+* https://snyk.io/vuln/SNYK-JS-MINIMIST-559764 (version <=1.2.3)
+
+# methods
+
+``` js
+var parseArgs = require('minimist')
+```
+
+## var argv = parseArgs(args, opts={})
+
+Return an argument object `argv` populated with the array arguments from `args`.
+
+`argv._` contains all the arguments that didn't have an option associated with
+them.
+
+Numeric-looking arguments will be returned as numbers unless `opts.string` or
+`opts.boolean` is set for that argument name.
+
+Any arguments after `'--'` will not be parsed and will end up in `argv._`.
+
+options can be:
+
+* `opts.string` - a string or array of strings argument names to always treat as
+strings
+* `opts.boolean` - a boolean, string or array of strings to always treat as
+booleans. if `true` will treat all double hyphenated arguments without equal signs
+as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`)
+* `opts.alias` - an object mapping string names to strings or arrays of string
+argument names to use as aliases
+* `opts.default` - an object mapping string argument names to default values
+* `opts.stopEarly` - when true, populate `argv._` with everything after the
+first non-option
+* `opts['--']` - when true, populate `argv._` with everything before the `--`
+and `argv['--']` with everything after the `--`. Here's an example:
+
+ ```
+ > require('./')('one two three -- four five --six'.split(' '), { '--': true })
+ {
+ _: ['one', 'two', 'three'],
+ '--': ['four', 'five', '--six']
+ }
+ ```
+
+ Note that with `opts['--']` set, parsing for arguments still stops after the
+ `--`.
+
+* `opts.unknown` - a function which is invoked with a command line parameter not
+defined in the `opts` configuration object. If the function returns `false`, the
+unknown option is not added to `argv`.
+
+# install
+
+With [npm](https://npmjs.org) do:
+
+```
+npm install minimist
+```
+
+# license
+
+MIT
+
+[package-url]: https://npmjs.org/package/minimist
+[npm-version-svg]: https://versionbadg.es/minimistjs/minimist.svg
+[npm-badge-png]: https://nodei.co/npm/minimist.png?downloads=true&stars=true
+[license-image]: https://img.shields.io/npm/l/minimist.svg
+[license-url]: LICENSE
+[downloads-image]: https://img.shields.io/npm/dm/minimist.svg
+[downloads-url]: https://npm-stat.com/charts.html?package=minimist
+[codecov-image]: https://codecov.io/gh/minimistjs/minimist/branch/main/graphs/badge.svg
+[codecov-url]: https://app.codecov.io/gh/minimistjs/minimist/
+[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/minimistjs/minimist
+[actions-url]: https://github.com/minimistjs/minimist/actions
diff --git a/desktop/node_modules/minimist/example/parse.js b/desktop/node_modules/minimist/example/parse.js
new file mode 100644
index 0000000..9d90ffb
--- /dev/null
+++ b/desktop/node_modules/minimist/example/parse.js
@@ -0,0 +1,4 @@
+'use strict';
+
+var argv = require('../')(process.argv.slice(2));
+console.log(argv);
diff --git a/desktop/node_modules/minimist/index.js b/desktop/node_modules/minimist/index.js
new file mode 100644
index 0000000..f020f39
--- /dev/null
+++ b/desktop/node_modules/minimist/index.js
@@ -0,0 +1,263 @@
+'use strict';
+
+function hasKey(obj, keys) {
+ var o = obj;
+ keys.slice(0, -1).forEach(function (key) {
+ o = o[key] || {};
+ });
+
+ var key = keys[keys.length - 1];
+ return key in o;
+}
+
+function isNumber(x) {
+ if (typeof x === 'number') { return true; }
+ if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
+ return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
+}
+
+function isConstructorOrProto(obj, key) {
+ return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
+}
+
+module.exports = function (args, opts) {
+ if (!opts) { opts = {}; }
+
+ var flags = {
+ bools: {},
+ strings: {},
+ unknownFn: null,
+ };
+
+ if (typeof opts.unknown === 'function') {
+ flags.unknownFn = opts.unknown;
+ }
+
+ if (typeof opts.boolean === 'boolean' && opts.boolean) {
+ flags.allBools = true;
+ } else {
+ [].concat(opts.boolean).filter(Boolean).forEach(function (key) {
+ flags.bools[key] = true;
+ });
+ }
+
+ var aliases = {};
+
+ function aliasIsBoolean(key) {
+ return aliases[key].some(function (x) {
+ return flags.bools[x];
+ });
+ }
+
+ Object.keys(opts.alias || {}).forEach(function (key) {
+ aliases[key] = [].concat(opts.alias[key]);
+ aliases[key].forEach(function (x) {
+ aliases[x] = [key].concat(aliases[key].filter(function (y) {
+ return x !== y;
+ }));
+ });
+ });
+
+ [].concat(opts.string).filter(Boolean).forEach(function (key) {
+ flags.strings[key] = true;
+ if (aliases[key]) {
+ [].concat(aliases[key]).forEach(function (k) {
+ flags.strings[k] = true;
+ });
+ }
+ });
+
+ var defaults = opts.default || {};
+
+ var argv = { _: [] };
+
+ function argDefined(key, arg) {
+ return (flags.allBools && (/^--[^=]+$/).test(arg))
+ || flags.strings[key]
+ || flags.bools[key]
+ || aliases[key];
+ }
+
+ function setKey(obj, keys, value) {
+ var o = obj;
+ for (var i = 0; i < keys.length - 1; i++) {
+ var key = keys[i];
+ if (isConstructorOrProto(o, key)) { return; }
+ if (o[key] === undefined) { o[key] = {}; }
+ if (
+ o[key] === Object.prototype
+ || o[key] === Number.prototype
+ || o[key] === String.prototype
+ ) {
+ o[key] = {};
+ }
+ if (o[key] === Array.prototype) { o[key] = []; }
+ o = o[key];
+ }
+
+ var lastKey = keys[keys.length - 1];
+ if (isConstructorOrProto(o, lastKey)) { return; }
+ if (
+ o === Object.prototype
+ || o === Number.prototype
+ || o === String.prototype
+ ) {
+ o = {};
+ }
+ if (o === Array.prototype) { o = []; }
+ if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
+ o[lastKey] = value;
+ } else if (Array.isArray(o[lastKey])) {
+ o[lastKey].push(value);
+ } else {
+ o[lastKey] = [o[lastKey], value];
+ }
+ }
+
+ function setArg(key, val, arg) {
+ if (arg && flags.unknownFn && !argDefined(key, arg)) {
+ if (flags.unknownFn(arg) === false) { return; }
+ }
+
+ var value = !flags.strings[key] && isNumber(val)
+ ? Number(val)
+ : val;
+ setKey(argv, key.split('.'), value);
+
+ (aliases[key] || []).forEach(function (x) {
+ setKey(argv, x.split('.'), value);
+ });
+ }
+
+ Object.keys(flags.bools).forEach(function (key) {
+ setArg(key, defaults[key] === undefined ? false : defaults[key]);
+ });
+
+ var notFlags = [];
+
+ if (args.indexOf('--') !== -1) {
+ notFlags = args.slice(args.indexOf('--') + 1);
+ args = args.slice(0, args.indexOf('--'));
+ }
+
+ for (var i = 0; i < args.length; i++) {
+ var arg = args[i];
+ var key;
+ var next;
+
+ if ((/^--.+=/).test(arg)) {
+ // Using [\s\S] instead of . because js doesn't support the
+ // 'dotall' regex modifier. See:
+ // http://stackoverflow.com/a/1068308/13216
+ var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
+ key = m[1];
+ var value = m[2];
+ if (flags.bools[key]) {
+ value = value !== 'false';
+ }
+ setArg(key, value, arg);
+ } else if ((/^--no-.+/).test(arg)) {
+ key = arg.match(/^--no-(.+)/)[1];
+ setArg(key, false, arg);
+ } else if ((/^--.+/).test(arg)) {
+ key = arg.match(/^--(.+)/)[1];
+ next = args[i + 1];
+ if (
+ next !== undefined
+ && !(/^(-|--)[^-]/).test(next)
+ && !flags.bools[key]
+ && !flags.allBools
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
+ ) {
+ setArg(key, next, arg);
+ i += 1;
+ } else if ((/^(true|false)$/).test(next)) {
+ setArg(key, next === 'true', arg);
+ i += 1;
+ } else {
+ setArg(key, flags.strings[key] ? '' : true, arg);
+ }
+ } else if ((/^-[^-]+/).test(arg)) {
+ var letters = arg.slice(1, -1).split('');
+
+ var broken = false;
+ for (var j = 0; j < letters.length; j++) {
+ next = arg.slice(j + 2);
+
+ if (next === '-') {
+ setArg(letters[j], next, arg);
+ continue;
+ }
+
+ if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
+ setArg(letters[j], next.slice(1), arg);
+ broken = true;
+ break;
+ }
+
+ if (
+ (/[A-Za-z]/).test(letters[j])
+ && (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
+ ) {
+ setArg(letters[j], next, arg);
+ broken = true;
+ break;
+ }
+
+ if (letters[j + 1] && letters[j + 1].match(/\W/)) {
+ setArg(letters[j], arg.slice(j + 2), arg);
+ broken = true;
+ break;
+ } else {
+ setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
+ }
+ }
+
+ key = arg.slice(-1)[0];
+ if (!broken && key !== '-') {
+ if (
+ args[i + 1]
+ && !(/^(-|--)[^-]/).test(args[i + 1])
+ && !flags.bools[key]
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
+ ) {
+ setArg(key, args[i + 1], arg);
+ i += 1;
+ } else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
+ setArg(key, args[i + 1] === 'true', arg);
+ i += 1;
+ } else {
+ setArg(key, flags.strings[key] ? '' : true, arg);
+ }
+ }
+ } else {
+ if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
+ argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
+ }
+ if (opts.stopEarly) {
+ argv._.push.apply(argv._, args.slice(i + 1));
+ break;
+ }
+ }
+ }
+
+ Object.keys(defaults).forEach(function (k) {
+ if (!hasKey(argv, k.split('.'))) {
+ setKey(argv, k.split('.'), defaults[k]);
+
+ (aliases[k] || []).forEach(function (x) {
+ setKey(argv, x.split('.'), defaults[k]);
+ });
+ }
+ });
+
+ if (opts['--']) {
+ argv['--'] = notFlags.slice();
+ } else {
+ notFlags.forEach(function (k) {
+ argv._.push(k);
+ });
+ }
+
+ return argv;
+};
diff --git a/desktop/node_modules/minimist/package.json b/desktop/node_modules/minimist/package.json
new file mode 100644
index 0000000..c10a334
--- /dev/null
+++ b/desktop/node_modules/minimist/package.json
@@ -0,0 +1,75 @@
+{
+ "name": "minimist",
+ "version": "1.2.8",
+ "description": "parse argument options",
+ "main": "index.js",
+ "devDependencies": {
+ "@ljharb/eslint-config": "^21.0.1",
+ "aud": "^2.0.2",
+ "auto-changelog": "^2.4.0",
+ "eslint": "=8.8.0",
+ "in-publish": "^2.0.1",
+ "npmignore": "^0.3.0",
+ "nyc": "^10.3.2",
+ "safe-publish-latest": "^2.0.0",
+ "tape": "^5.6.3"
+ },
+ "scripts": {
+ "prepack": "npmignore --auto --commentLines=auto",
+ "prepublishOnly": "safe-publish-latest",
+ "prepublish": "not-in-publish || npm run prepublishOnly",
+ "lint": "eslint --ext=js,mjs .",
+ "pretest": "npm run lint",
+ "tests-only": "nyc tape 'test/**/*.js'",
+ "test": "npm run tests-only",
+ "posttest": "aud --production",
+ "version": "auto-changelog && git add CHANGELOG.md",
+ "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
+ },
+ "testling": {
+ "files": "test/*.js",
+ "browsers": [
+ "ie/6..latest",
+ "ff/5",
+ "firefox/latest",
+ "chrome/10",
+ "chrome/latest",
+ "safari/5.1",
+ "safari/latest",
+ "opera/12"
+ ]
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/minimistjs/minimist.git"
+ },
+ "homepage": "https://github.com/minimistjs/minimist",
+ "keywords": [
+ "argv",
+ "getopt",
+ "parser",
+ "optimist"
+ ],
+ "author": {
+ "name": "James Halliday",
+ "email": "mail@substack.net",
+ "url": "http://substack.net"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ },
+ "license": "MIT",
+ "auto-changelog": {
+ "output": "CHANGELOG.md",
+ "template": "keepachangelog",
+ "unreleased": false,
+ "commitLimit": false,
+ "backfillLimit": false,
+ "hideCredit": true
+ },
+ "publishConfig": {
+ "ignore": [
+ ".github/workflows"
+ ]
+ }
+}
diff --git a/desktop/node_modules/minimist/test/all_bool.js b/desktop/node_modules/minimist/test/all_bool.js
new file mode 100644
index 0000000..befa0c9
--- /dev/null
+++ b/desktop/node_modules/minimist/test/all_bool.js
@@ -0,0 +1,34 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('flag boolean true (default all --args to boolean)', function (t) {
+ var argv = parse(['moo', '--honk', 'cow'], {
+ boolean: true,
+ });
+
+ t.deepEqual(argv, {
+ honk: true,
+ _: ['moo', 'cow'],
+ });
+
+ t.deepEqual(typeof argv.honk, 'boolean');
+ t.end();
+});
+
+test('flag boolean true only affects double hyphen arguments without equals signs', function (t) {
+ var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], {
+ boolean: true,
+ });
+
+ t.deepEqual(argv, {
+ honk: true,
+ tacos: 'good',
+ p: 55,
+ _: ['moo', 'cow'],
+ });
+
+ t.deepEqual(typeof argv.honk, 'boolean');
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/bool.js b/desktop/node_modules/minimist/test/bool.js
new file mode 100644
index 0000000..e58d47e
--- /dev/null
+++ b/desktop/node_modules/minimist/test/bool.js
@@ -0,0 +1,177 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('flag boolean default false', function (t) {
+ var argv = parse(['moo'], {
+ boolean: ['t', 'verbose'],
+ default: { verbose: false, t: false },
+ });
+
+ t.deepEqual(argv, {
+ verbose: false,
+ t: false,
+ _: ['moo'],
+ });
+
+ t.deepEqual(typeof argv.verbose, 'boolean');
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+
+});
+
+test('boolean groups', function (t) {
+ var argv = parse(['-x', '-z', 'one', 'two', 'three'], {
+ boolean: ['x', 'y', 'z'],
+ });
+
+ t.deepEqual(argv, {
+ x: true,
+ y: false,
+ z: true,
+ _: ['one', 'two', 'three'],
+ });
+
+ t.deepEqual(typeof argv.x, 'boolean');
+ t.deepEqual(typeof argv.y, 'boolean');
+ t.deepEqual(typeof argv.z, 'boolean');
+ t.end();
+});
+test('boolean and alias with chainable api', function (t) {
+ var aliased = ['-h', 'derp'];
+ var regular = ['--herp', 'derp'];
+ var aliasedArgv = parse(aliased, {
+ boolean: 'herp',
+ alias: { h: 'herp' },
+ });
+ var propertyArgv = parse(regular, {
+ boolean: 'herp',
+ alias: { h: 'herp' },
+ });
+ var expected = {
+ herp: true,
+ h: true,
+ _: ['derp'],
+ };
+
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias with options hash', function (t) {
+ var aliased = ['-h', 'derp'];
+ var regular = ['--herp', 'derp'];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'herp',
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var expected = {
+ herp: true,
+ h: true,
+ _: ['derp'],
+ };
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias array with options hash', function (t) {
+ var aliased = ['-h', 'derp'];
+ var regular = ['--herp', 'derp'];
+ var alt = ['--harp', 'derp'];
+ var opts = {
+ alias: { h: ['herp', 'harp'] },
+ boolean: 'h',
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var altPropertyArgv = parse(alt, opts);
+ var expected = {
+ harp: true,
+ herp: true,
+ h: true,
+ _: ['derp'],
+ };
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.same(altPropertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias using explicit true', function (t) {
+ var aliased = ['-h', 'true'];
+ var regular = ['--herp', 'true'];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'h',
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var expected = {
+ herp: true,
+ h: true,
+ _: [],
+ };
+
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+// regression, see https://github.com/substack/node-optimist/issues/71
+test('boolean and --x=true', function (t) {
+ var parsed = parse(['--boool', '--other=true'], {
+ boolean: 'boool',
+ });
+
+ t.same(parsed.boool, true);
+ t.same(parsed.other, 'true');
+
+ parsed = parse(['--boool', '--other=false'], {
+ boolean: 'boool',
+ });
+
+ t.same(parsed.boool, true);
+ t.same(parsed.other, 'false');
+ t.end();
+});
+
+test('boolean --boool=true', function (t) {
+ var parsed = parse(['--boool=true'], {
+ default: {
+ boool: false,
+ },
+ boolean: ['boool'],
+ });
+
+ t.same(parsed.boool, true);
+ t.end();
+});
+
+test('boolean --boool=false', function (t) {
+ var parsed = parse(['--boool=false'], {
+ default: {
+ boool: true,
+ },
+ boolean: ['boool'],
+ });
+
+ t.same(parsed.boool, false);
+ t.end();
+});
+
+test('boolean using something similar to true', function (t) {
+ var opts = { boolean: 'h' };
+ var result = parse(['-h', 'true.txt'], opts);
+ var expected = {
+ h: true,
+ _: ['true.txt'],
+ };
+
+ t.same(result, expected);
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/dash.js b/desktop/node_modules/minimist/test/dash.js
new file mode 100644
index 0000000..7078817
--- /dev/null
+++ b/desktop/node_modules/minimist/test/dash.js
@@ -0,0 +1,43 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('-', function (t) {
+ t.plan(6);
+ t.deepEqual(parse(['-n', '-']), { n: '-', _: [] });
+ t.deepEqual(parse(['--nnn', '-']), { nnn: '-', _: [] });
+ t.deepEqual(parse(['-']), { _: ['-'] });
+ t.deepEqual(parse(['-f-']), { f: '-', _: [] });
+ t.deepEqual(
+ parse(['-b', '-'], { boolean: 'b' }),
+ { b: true, _: ['-'] }
+ );
+ t.deepEqual(
+ parse(['-s', '-'], { string: 's' }),
+ { s: '-', _: [] }
+ );
+});
+
+test('-a -- b', function (t) {
+ t.plan(2);
+ t.deepEqual(parse(['-a', '--', 'b']), { a: true, _: ['b'] });
+ t.deepEqual(parse(['--a', '--', 'b']), { a: true, _: ['b'] });
+});
+
+test('move arguments after the -- into their own `--` array', function (t) {
+ t.plan(1);
+ t.deepEqual(
+ parse(['--name', 'John', 'before', '--', 'after'], { '--': true }),
+ { name: 'John', _: ['before'], '--': ['after'] }
+ );
+});
+
+test('--- option value', function (t) {
+ // A multi-dash value is largely an edge case, but check the behaviour is as expected,
+ // and in particular the same for short option and long option (as made consistent in Jan 2023).
+ t.plan(2);
+ t.deepEqual(parse(['-n', '---']), { n: '---', _: [] });
+ t.deepEqual(parse(['--nnn', '---']), { nnn: '---', _: [] });
+});
+
diff --git a/desktop/node_modules/minimist/test/default_bool.js b/desktop/node_modules/minimist/test/default_bool.js
new file mode 100644
index 0000000..4e9f625
--- /dev/null
+++ b/desktop/node_modules/minimist/test/default_bool.js
@@ -0,0 +1,37 @@
+'use strict';
+
+var test = require('tape');
+var parse = require('../');
+
+test('boolean default true', function (t) {
+ var argv = parse([], {
+ boolean: 'sometrue',
+ default: { sometrue: true },
+ });
+ t.equal(argv.sometrue, true);
+ t.end();
+});
+
+test('boolean default false', function (t) {
+ var argv = parse([], {
+ boolean: 'somefalse',
+ default: { somefalse: false },
+ });
+ t.equal(argv.somefalse, false);
+ t.end();
+});
+
+test('boolean default to null', function (t) {
+ var argv = parse([], {
+ boolean: 'maybe',
+ default: { maybe: null },
+ });
+ t.equal(argv.maybe, null);
+
+ var argvLong = parse(['--maybe'], {
+ boolean: 'maybe',
+ default: { maybe: null },
+ });
+ t.equal(argvLong.maybe, true);
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/dotted.js b/desktop/node_modules/minimist/test/dotted.js
new file mode 100644
index 0000000..126ff03
--- /dev/null
+++ b/desktop/node_modules/minimist/test/dotted.js
@@ -0,0 +1,24 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('dotted alias', function (t) {
+ var argv = parse(['--a.b', '22'], { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } });
+ t.equal(argv.a.b, 22);
+ t.equal(argv.aa.bb, 22);
+ t.end();
+});
+
+test('dotted default', function (t) {
+ var argv = parse('', { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } });
+ t.equal(argv.a.b, 11);
+ t.equal(argv.aa.bb, 11);
+ t.end();
+});
+
+test('dotted default with no alias', function (t) {
+ var argv = parse('', { default: { 'a.b': 11 } });
+ t.equal(argv.a.b, 11);
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/kv_short.js b/desktop/node_modules/minimist/test/kv_short.js
new file mode 100644
index 0000000..6d1b53a
--- /dev/null
+++ b/desktop/node_modules/minimist/test/kv_short.js
@@ -0,0 +1,32 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('short -k=v', function (t) {
+ t.plan(1);
+
+ var argv = parse(['-b=123']);
+ t.deepEqual(argv, { b: 123, _: [] });
+});
+
+test('multi short -k=v', function (t) {
+ t.plan(1);
+
+ var argv = parse(['-a=whatever', '-b=robots']);
+ t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] });
+});
+
+test('short with embedded equals -k=a=b', function (t) {
+ t.plan(1);
+
+ var argv = parse(['-k=a=b']);
+ t.deepEqual(argv, { k: 'a=b', _: [] });
+});
+
+test('short with later equals like -ab=c', function (t) {
+ t.plan(1);
+
+ var argv = parse(['-ab=c']);
+ t.deepEqual(argv, { a: true, b: 'c', _: [] });
+});
diff --git a/desktop/node_modules/minimist/test/long.js b/desktop/node_modules/minimist/test/long.js
new file mode 100644
index 0000000..9fef51f
--- /dev/null
+++ b/desktop/node_modules/minimist/test/long.js
@@ -0,0 +1,33 @@
+'use strict';
+
+var test = require('tape');
+var parse = require('../');
+
+test('long opts', function (t) {
+ t.deepEqual(
+ parse(['--bool']),
+ { bool: true, _: [] },
+ 'long boolean'
+ );
+ t.deepEqual(
+ parse(['--pow', 'xixxle']),
+ { pow: 'xixxle', _: [] },
+ 'long capture sp'
+ );
+ t.deepEqual(
+ parse(['--pow=xixxle']),
+ { pow: 'xixxle', _: [] },
+ 'long capture eq'
+ );
+ t.deepEqual(
+ parse(['--host', 'localhost', '--port', '555']),
+ { host: 'localhost', port: 555, _: [] },
+ 'long captures sp'
+ );
+ t.deepEqual(
+ parse(['--host=localhost', '--port=555']),
+ { host: 'localhost', port: 555, _: [] },
+ 'long captures eq'
+ );
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/num.js b/desktop/node_modules/minimist/test/num.js
new file mode 100644
index 0000000..074393e
--- /dev/null
+++ b/desktop/node_modules/minimist/test/num.js
@@ -0,0 +1,38 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('nums', function (t) {
+ var argv = parse([
+ '-x', '1234',
+ '-y', '5.67',
+ '-z', '1e7',
+ '-w', '10f',
+ '--hex', '0xdeadbeef',
+ '789',
+ ]);
+ t.deepEqual(argv, {
+ x: 1234,
+ y: 5.67,
+ z: 1e7,
+ w: '10f',
+ hex: 0xdeadbeef,
+ _: [789],
+ });
+ t.deepEqual(typeof argv.x, 'number');
+ t.deepEqual(typeof argv.y, 'number');
+ t.deepEqual(typeof argv.z, 'number');
+ t.deepEqual(typeof argv.w, 'string');
+ t.deepEqual(typeof argv.hex, 'number');
+ t.deepEqual(typeof argv._[0], 'number');
+ t.end();
+});
+
+test('already a number', function (t) {
+ var argv = parse(['-x', 1234, 789]);
+ t.deepEqual(argv, { x: 1234, _: [789] });
+ t.deepEqual(typeof argv.x, 'number');
+ t.deepEqual(typeof argv._[0], 'number');
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/parse.js b/desktop/node_modules/minimist/test/parse.js
new file mode 100644
index 0000000..65d9d90
--- /dev/null
+++ b/desktop/node_modules/minimist/test/parse.js
@@ -0,0 +1,209 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('parse args', function (t) {
+ t.deepEqual(
+ parse(['--no-moo']),
+ { moo: false, _: [] },
+ 'no'
+ );
+ t.deepEqual(
+ parse(['-v', 'a', '-v', 'b', '-v', 'c']),
+ { v: ['a', 'b', 'c'], _: [] },
+ 'multi'
+ );
+ t.end();
+});
+
+test('comprehensive', function (t) {
+ t.deepEqual(
+ parse([
+ '--name=meowmers', 'bare', '-cats', 'woo',
+ '-h', 'awesome', '--multi=quux',
+ '--key', 'value',
+ '-b', '--bool', '--no-meep', '--multi=baz',
+ '--', '--not-a-flag', 'eek',
+ ]),
+ {
+ c: true,
+ a: true,
+ t: true,
+ s: 'woo',
+ h: 'awesome',
+ b: true,
+ bool: true,
+ key: 'value',
+ multi: ['quux', 'baz'],
+ meep: false,
+ name: 'meowmers',
+ _: ['bare', '--not-a-flag', 'eek'],
+ }
+ );
+ t.end();
+});
+
+test('flag boolean', function (t) {
+ var argv = parse(['-t', 'moo'], { boolean: 't' });
+ t.deepEqual(argv, { t: true, _: ['moo'] });
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+});
+
+test('flag boolean value', function (t) {
+ var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], {
+ boolean: ['t', 'verbose'],
+ default: { verbose: true },
+ });
+
+ t.deepEqual(argv, {
+ verbose: false,
+ t: true,
+ _: ['moo'],
+ });
+
+ t.deepEqual(typeof argv.verbose, 'boolean');
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+});
+
+test('newlines in params', function (t) {
+ var args = parse(['-s', 'X\nX']);
+ t.deepEqual(args, { _: [], s: 'X\nX' });
+
+ // reproduce in bash:
+ // VALUE="new
+ // line"
+ // node program.js --s="$VALUE"
+ args = parse(['--s=X\nX']);
+ t.deepEqual(args, { _: [], s: 'X\nX' });
+ t.end();
+});
+
+test('strings', function (t) {
+ var s = parse(['-s', '0001234'], { string: 's' }).s;
+ t.equal(s, '0001234');
+ t.equal(typeof s, 'string');
+
+ var x = parse(['-x', '56'], { string: 'x' }).x;
+ t.equal(x, '56');
+ t.equal(typeof x, 'string');
+ t.end();
+});
+
+test('stringArgs', function (t) {
+ var s = parse([' ', ' '], { string: '_' })._;
+ t.same(s.length, 2);
+ t.same(typeof s[0], 'string');
+ t.same(s[0], ' ');
+ t.same(typeof s[1], 'string');
+ t.same(s[1], ' ');
+ t.end();
+});
+
+test('empty strings', function (t) {
+ var s = parse(['-s'], { string: 's' }).s;
+ t.equal(s, '');
+ t.equal(typeof s, 'string');
+
+ var str = parse(['--str'], { string: 'str' }).str;
+ t.equal(str, '');
+ t.equal(typeof str, 'string');
+
+ var letters = parse(['-art'], {
+ string: ['a', 't'],
+ });
+
+ t.equal(letters.a, '');
+ t.equal(letters.r, true);
+ t.equal(letters.t, '');
+
+ t.end();
+});
+
+test('string and alias', function (t) {
+ var x = parse(['--str', '000123'], {
+ string: 's',
+ alias: { s: 'str' },
+ });
+
+ t.equal(x.str, '000123');
+ t.equal(typeof x.str, 'string');
+ t.equal(x.s, '000123');
+ t.equal(typeof x.s, 'string');
+
+ var y = parse(['-s', '000123'], {
+ string: 'str',
+ alias: { str: 's' },
+ });
+
+ t.equal(y.str, '000123');
+ t.equal(typeof y.str, 'string');
+ t.equal(y.s, '000123');
+ t.equal(typeof y.s, 'string');
+
+ var z = parse(['-s123'], {
+ alias: { str: ['s', 'S'] },
+ string: ['str'],
+ });
+
+ t.deepEqual(
+ z,
+ { _: [], s: '123', S: '123', str: '123' },
+ 'opt.string works with multiple aliases'
+ );
+ t.end();
+});
+
+test('slashBreak', function (t) {
+ t.same(
+ parse(['-I/foo/bar/baz']),
+ { I: '/foo/bar/baz', _: [] }
+ );
+ t.same(
+ parse(['-xyz/foo/bar/baz']),
+ { x: true, y: true, z: '/foo/bar/baz', _: [] }
+ );
+ t.end();
+});
+
+test('alias', function (t) {
+ var argv = parse(['-f', '11', '--zoom', '55'], {
+ alias: { z: 'zoom' },
+ });
+ t.equal(argv.zoom, 55);
+ t.equal(argv.z, argv.zoom);
+ t.equal(argv.f, 11);
+ t.end();
+});
+
+test('multiAlias', function (t) {
+ var argv = parse(['-f', '11', '--zoom', '55'], {
+ alias: { z: ['zm', 'zoom'] },
+ });
+ t.equal(argv.zoom, 55);
+ t.equal(argv.z, argv.zoom);
+ t.equal(argv.z, argv.zm);
+ t.equal(argv.f, 11);
+ t.end();
+});
+
+test('nested dotted objects', function (t) {
+ var argv = parse([
+ '--foo.bar', '3', '--foo.baz', '4',
+ '--foo.quux.quibble', '5', '--foo.quux.o_O',
+ '--beep.boop',
+ ]);
+
+ t.same(argv.foo, {
+ bar: 3,
+ baz: 4,
+ quux: {
+ quibble: 5,
+ o_O: true,
+ },
+ });
+ t.same(argv.beep, { boop: true });
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/parse_modified.js b/desktop/node_modules/minimist/test/parse_modified.js
new file mode 100644
index 0000000..32965d1
--- /dev/null
+++ b/desktop/node_modules/minimist/test/parse_modified.js
@@ -0,0 +1,11 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('parse with modifier functions', function (t) {
+ t.plan(1);
+
+ var argv = parse(['-b', '123'], { boolean: 'b' });
+ t.deepEqual(argv, { b: true, _: [123] });
+});
diff --git a/desktop/node_modules/minimist/test/proto.js b/desktop/node_modules/minimist/test/proto.js
new file mode 100644
index 0000000..6e629dd
--- /dev/null
+++ b/desktop/node_modules/minimist/test/proto.js
@@ -0,0 +1,64 @@
+'use strict';
+
+/* eslint no-proto: 0 */
+
+var parse = require('../');
+var test = require('tape');
+
+test('proto pollution', function (t) {
+ var argv = parse(['--__proto__.x', '123']);
+ t.equal({}.x, undefined);
+ t.equal(argv.__proto__.x, undefined);
+ t.equal(argv.x, undefined);
+ t.end();
+});
+
+test('proto pollution (array)', function (t) {
+ var argv = parse(['--x', '4', '--x', '5', '--x.__proto__.z', '789']);
+ t.equal({}.z, undefined);
+ t.deepEqual(argv.x, [4, 5]);
+ t.equal(argv.x.z, undefined);
+ t.equal(argv.x.__proto__.z, undefined);
+ t.end();
+});
+
+test('proto pollution (number)', function (t) {
+ var argv = parse(['--x', '5', '--x.__proto__.z', '100']);
+ t.equal({}.z, undefined);
+ t.equal((4).z, undefined);
+ t.equal(argv.x, 5);
+ t.equal(argv.x.z, undefined);
+ t.end();
+});
+
+test('proto pollution (string)', function (t) {
+ var argv = parse(['--x', 'abc', '--x.__proto__.z', 'def']);
+ t.equal({}.z, undefined);
+ t.equal('...'.z, undefined);
+ t.equal(argv.x, 'abc');
+ t.equal(argv.x.z, undefined);
+ t.end();
+});
+
+test('proto pollution (constructor)', function (t) {
+ var argv = parse(['--constructor.prototype.y', '123']);
+ t.equal({}.y, undefined);
+ t.equal(argv.y, undefined);
+ t.end();
+});
+
+test('proto pollution (constructor function)', function (t) {
+ var argv = parse(['--_.concat.constructor.prototype.y', '123']);
+ function fnToBeTested() {}
+ t.equal(fnToBeTested.y, undefined);
+ t.equal(argv.y, undefined);
+ t.end();
+});
+
+// powered by snyk - https://github.com/backstage/backstage/issues/10343
+test('proto pollution (constructor function) snyk', function (t) {
+ var argv = parse('--_.constructor.constructor.prototype.foo bar'.split(' '));
+ t.equal(function () {}.foo, undefined);
+ t.equal(argv.y, undefined);
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/short.js b/desktop/node_modules/minimist/test/short.js
new file mode 100644
index 0000000..4a7b843
--- /dev/null
+++ b/desktop/node_modules/minimist/test/short.js
@@ -0,0 +1,69 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('numeric short args', function (t) {
+ t.plan(2);
+ t.deepEqual(parse(['-n123']), { n: 123, _: [] });
+ t.deepEqual(
+ parse(['-123', '456']),
+ { 1: true, 2: true, 3: 456, _: [] }
+ );
+});
+
+test('short', function (t) {
+ t.deepEqual(
+ parse(['-b']),
+ { b: true, _: [] },
+ 'short boolean'
+ );
+ t.deepEqual(
+ parse(['foo', 'bar', 'baz']),
+ { _: ['foo', 'bar', 'baz'] },
+ 'bare'
+ );
+ t.deepEqual(
+ parse(['-cats']),
+ { c: true, a: true, t: true, s: true, _: [] },
+ 'group'
+ );
+ t.deepEqual(
+ parse(['-cats', 'meow']),
+ { c: true, a: true, t: true, s: 'meow', _: [] },
+ 'short group next'
+ );
+ t.deepEqual(
+ parse(['-h', 'localhost']),
+ { h: 'localhost', _: [] },
+ 'short capture'
+ );
+ t.deepEqual(
+ parse(['-h', 'localhost', '-p', '555']),
+ { h: 'localhost', p: 555, _: [] },
+ 'short captures'
+ );
+ t.end();
+});
+
+test('mixed short bool and capture', function (t) {
+ t.same(
+ parse(['-h', 'localhost', '-fp', '555', 'script.js']),
+ {
+ f: true, p: 555, h: 'localhost',
+ _: ['script.js'],
+ }
+ );
+ t.end();
+});
+
+test('short and long', function (t) {
+ t.deepEqual(
+ parse(['-h', 'localhost', '-fp', '555', 'script.js']),
+ {
+ f: true, p: 555, h: 'localhost',
+ _: ['script.js'],
+ }
+ );
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/stop_early.js b/desktop/node_modules/minimist/test/stop_early.js
new file mode 100644
index 0000000..52a6a91
--- /dev/null
+++ b/desktop/node_modules/minimist/test/stop_early.js
@@ -0,0 +1,17 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('stops parsing on the first non-option when stopEarly is set', function (t) {
+ var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], {
+ stopEarly: true,
+ });
+
+ t.deepEqual(argv, {
+ aaa: 'bbb',
+ _: ['ccc', '--ddd'],
+ });
+
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/unknown.js b/desktop/node_modules/minimist/test/unknown.js
new file mode 100644
index 0000000..4f2e0ca
--- /dev/null
+++ b/desktop/node_modules/minimist/test/unknown.js
@@ -0,0 +1,104 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('boolean and alias is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = ['-h', 'true', '--derp', 'true'];
+ var regular = ['--herp', 'true', '-d', 'true'];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'h',
+ unknown: unknownFn,
+ };
+ parse(aliased, opts);
+ parse(regular, opts);
+
+ t.same(unknown, ['--derp', '-d']);
+ t.end();
+});
+
+test('flag boolean true any double hyphen argument is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {
+ boolean: true,
+ unknown: unknownFn,
+ });
+ t.same(unknown, ['--tacos=good', 'cow', '-p']);
+ t.same(argv, {
+ honk: true,
+ _: [],
+ });
+ t.end();
+});
+
+test('string and alias is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = ['-h', 'hello', '--derp', 'goodbye'];
+ var regular = ['--herp', 'hello', '-d', 'moon'];
+ var opts = {
+ alias: { h: 'herp' },
+ string: 'h',
+ unknown: unknownFn,
+ };
+ parse(aliased, opts);
+ parse(regular, opts);
+
+ t.same(unknown, ['--derp', '-d']);
+ t.end();
+});
+
+test('default and alias is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = ['-h', 'hello'];
+ var regular = ['--herp', 'hello'];
+ var opts = {
+ default: { h: 'bar' },
+ alias: { h: 'herp' },
+ unknown: unknownFn,
+ };
+ parse(aliased, opts);
+ parse(regular, opts);
+
+ t.same(unknown, []);
+ t.end();
+ unknownFn(); // exercise fn for 100% coverage
+});
+
+test('value following -- is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = ['--bad', '--', 'good', 'arg'];
+ var opts = {
+ '--': true,
+ unknown: unknownFn,
+ };
+ var argv = parse(aliased, opts);
+
+ t.same(unknown, ['--bad']);
+ t.same(argv, {
+ '--': ['good', 'arg'],
+ _: [],
+ });
+ t.end();
+});
diff --git a/desktop/node_modules/minimist/test/whitespace.js b/desktop/node_modules/minimist/test/whitespace.js
new file mode 100644
index 0000000..4fdaf1d
--- /dev/null
+++ b/desktop/node_modules/minimist/test/whitespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('whitespace should be whitespace', function (t) {
+ t.plan(1);
+ var x = parse(['-x', '\t']).x;
+ t.equal(x, '\t');
+});