diff --git a/manage/manage.js b/manage/manage.js index 95f980bf..bb171d09 100644 --- a/manage/manage.js +++ b/manage/manage.js @@ -144,7 +144,7 @@ async function toggleInjectionOrder(state) { const shown = $('.injection-order'); if (state && !shown) { await require([ - '/vendor/@eight04/draggable-list/dist/draggable-list.iife.min.js', + '/vendor/draggable-list/draggable-list.iife.min.js', '/injection-order/injection-order.css', '/injection-order/injection-order', /* global InjectionOrder */ ]); diff --git a/package-lock.json b/package-lock.json index df91cdd4..e2e48c5a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,12 +22,11 @@ }, "devDependencies": { "archiver": "^4.0.1", - "endent": "^1.4.0", "eslint": "^7.20.0", "fs-extra": "^9.0.0", - "make-fetch-happen": "^8.0.7", + "glob": "^7.2.0", + "node-fetch": "^2.6.6", "sync-version": "^1.0.1", - "tiny-glob": "^0.2.6", "web-ext": "^6.5.0" }, "engines": { @@ -511,12 +510,6 @@ "node": ">=6" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, "node_modules/@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", @@ -995,36 +988,6 @@ "node": ">=6.0" } }, - "node_modules/agent-base": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", - "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", - "dev": true, - "dependencies": { - "debug": "4" - } - }, - "node_modules/agentkeepalive": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.2.tgz", - "integrity": "sha512-waNHE7tQBBn+2qXucI8HY0o2Y0OBPWldWOWsZwY71JcCm4SvrPnWdceFfB5NIXSqE8Ewq6VR/Qt5b1i69P6KCQ==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - } - }, - "node_modules/aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1596,37 +1559,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz", - "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "move-file": "^2.0.0", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, "node_modules/cacheable-request": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", @@ -2000,12 +1932,6 @@ "entities": "^2.0.0" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "node_modules/chrome-launcher": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.0.tgz", @@ -2042,12 +1968,6 @@ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, "node_modules/cli-boxes": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", @@ -2854,12 +2774,6 @@ "node": ">=0.10.0" } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, "node_modules/deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", @@ -2950,7 +2864,8 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "dev": true, + "peer": true }, "node_modules/destroy": { "version": "1.0.4", @@ -3129,16 +3044,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "~0.4.13" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -3148,17 +3053,6 @@ "once": "^1.4.0" } }, - "node_modules/endent": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", - "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", - "dev": true, - "dependencies": { - "dedent": "^0.7.0", - "fast-json-parse": "^1.0.3", - "objectorarray": "^1.0.4" - } - }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -3176,12 +3070,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "node_modules/err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -3688,12 +3576,6 @@ "node": ">=8" } }, - "node_modules/fast-json-parse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", - "dev": true - }, "node_modules/fast-json-patch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-2.2.1.tgz", @@ -4017,15 +3899,6 @@ "node": ">=10" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4275,12 +4148,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globalyzer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", - "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==", - "dev": true - }, "node_modules/globby": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", @@ -4313,12 +4180,6 @@ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=" }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, "node_modules/gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", @@ -4577,17 +4438,6 @@ "node": ">= 0.6" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -4603,16 +4453,6 @@ "npm": ">=1.3.7" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - } - }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -4622,20 +4462,12 @@ "node": ">=8.12.0" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } @@ -4715,12 +4547,6 @@ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -4766,12 +4592,6 @@ "url": "https://github.com/sindresorhus/invert-kv?sponsor=1" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -4948,12 +4768,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true - }, "node_modules/is-mergeable-object": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz", @@ -5593,21 +5407,6 @@ "node": ">=0.10.0" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lru-cache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "node_modules/lz-string-unsafe": { "version": "1.4.4-fork-1", "resolved": "https://registry.npmjs.org/lz-string-unsafe/-/lz-string-unsafe-1.4.4-fork-1.tgz", @@ -5627,29 +5426,6 @@ "node": ">=6" } }, - "node_modules/make-fetch-happen": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.7.tgz", - "integrity": "sha512-rkDA4c1nMXVqLkfOaM5RK2dxkUndjLOCrPycTDZgbkFDzhmaCO3P1dmCW//yt1I/G1EcedJqMsSjWkV79Hh4hQ==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.0", - "cacache": "^15.0.0", - "http-cache-semantics": "^4.0.4", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^5.1.1", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.1.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" - } - }, "node_modules/map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -5939,79 +5715,6 @@ "node": ">=0.10.0" } }, - "node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-fetch": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.2.1.tgz", - "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==", - "dev": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-pipeline": "^1.2.2", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -6035,15 +5738,6 @@ "node": "*" } }, - "node_modules/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==", - "dev": true, - "dependencies": { - "path-exists": "^4.0.0" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -6168,6 +5862,18 @@ "node": ">= 0.6" } }, + "node_modules/node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, "node_modules/node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -6397,12 +6103,6 @@ "node": ">= 0.4" } }, - "node_modules/objectorarray": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz", - "integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==", - "dev": true - }, "node_modules/on-exit-leak-free": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", @@ -6578,15 +6278,6 @@ "node": ">=8" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - } - }, "node_modules/p-timeout": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", @@ -7235,22 +6926,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, - "dependencies": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - } - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -7714,12 +7389,6 @@ "lowercase-keys": "^1.0.0" } }, - "node_modules/retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -8041,33 +7710,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true - }, - "node_modules/socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, - "dependencies": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz", - "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4", - "socks": "^2.3.3" - } - }, "node_modules/sonic-boom": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.4.1.tgz", @@ -8255,18 +7897,6 @@ "node": ">=0.10.0" } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -8757,23 +8387,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/tar": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.8.tgz", - "integrity": "sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/tar-stream": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", @@ -8790,12 +8403,6 @@ "node": ">=6" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -8848,16 +8455,6 @@ "node": ">=0.10.0" } }, - "node_modules/tiny-glob": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.6.tgz", - "integrity": "sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw==", - "dev": true, - "dependencies": { - "globalyzer": "^0.1.0", - "globrex": "^0.1.1" - } - }, "node_modules/tiny-sha1": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tiny-sha1/-/tiny-sha1-0.2.1.tgz", @@ -8942,6 +8539,12 @@ "node": ">=0.8" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, "node_modules/trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -9115,24 +8718,6 @@ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -9527,6 +9112,22 @@ "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.1.tgz", "integrity": "sha512-e8G0W+Js6P1i/aD0XoSkWfodhdTf01fiqDQk+wcSkVPkzmqDxhzKkBpJ1Y2dz3pR4Ocve7z/yx+mMI8jsRAiPg==" }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/when": { "version": "3.7.7", "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", @@ -10203,12 +9804,6 @@ "defer-to-connect": "^1.0.1" } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true - }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", @@ -10600,36 +10195,6 @@ "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==", "dev": true }, - "agent-base": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", - "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.2.tgz", - "integrity": "sha512-waNHE7tQBBn+2qXucI8HY0o2Y0OBPWldWOWsZwY71JcCm4SvrPnWdceFfB5NIXSqE8Ewq6VR/Qt5b1i69P6KCQ==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - } - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -11117,39 +10682,6 @@ "dev": true, "peer": true }, - "cacache": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz", - "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "move-file": "^2.0.0", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, "cacheable-request": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", @@ -11429,12 +10961,6 @@ } } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "chrome-launcher": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.0.tgz", @@ -11461,12 +10987,6 @@ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, "cli-boxes": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", @@ -12125,12 +11645,6 @@ } } }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, "deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", @@ -12206,7 +11720,8 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "dev": true, + "peer": true }, "destroy": { "version": "1.0.4", @@ -12369,16 +11884,6 @@ "dev": true, "peer": true }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -12388,17 +11893,6 @@ "once": "^1.4.0" } }, - "endent": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", - "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", - "dev": true, - "requires": { - "dedent": "^0.7.0", - "fast-json-parse": "^1.0.3", - "objectorarray": "^1.0.4" - } - }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -12413,12 +11907,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -12830,12 +12318,6 @@ } } }, - "fast-json-parse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", - "dev": true - }, "fast-json-patch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-2.2.1.tgz", @@ -13110,15 +12592,6 @@ "universalify": "^1.0.0" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -13310,12 +12783,6 @@ } } }, - "globalyzer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", - "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==", - "dev": true - }, "globby": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", @@ -13341,12 +12808,6 @@ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=" }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, "gonzales-pe": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", @@ -13548,17 +13009,6 @@ "toidentifier": "1.0.0" } }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -13570,36 +13020,18 @@ "sshpk": "^1.7.0" } }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -13661,12 +13093,6 @@ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -13703,12 +13129,6 @@ "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", "dev": true }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -13824,12 +13244,6 @@ "is-path-inside": "^3.0.2" } }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true - }, "is-mergeable-object": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz", @@ -14387,23 +13801,6 @@ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, "lz-string-unsafe": { "version": "1.4.4-fork-1", "resolved": "https://registry.npmjs.org/lz-string-unsafe/-/lz-string-unsafe-1.4.4-fork-1.tgz", @@ -14420,29 +13817,6 @@ "semver": "^5.6.0" } }, - "make-fetch-happen": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.7.tgz", - "integrity": "sha512-rkDA4c1nMXVqLkfOaM5RK2dxkUndjLOCrPycTDZgbkFDzhmaCO3P1dmCW//yt1I/G1EcedJqMsSjWkV79Hh4hQ==", - "dev": true, - "requires": { - "agentkeepalive": "^4.1.0", - "cacache": "^15.0.0", - "http-cache-semantics": "^4.0.4", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^5.1.1", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.1.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" - } - }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -14652,74 +14026,6 @@ } } }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.2.1.tgz", - "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==", - "dev": true, - "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-pipeline": "^1.2.2", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", - "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -14737,15 +14043,6 @@ "dev": true, "optional": true }, - "move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==", - "dev": true, - "requires": { - "path-exists": "^4.0.0" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -14845,6 +14142,15 @@ "dev": true, "peer": true }, + "node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -15029,12 +14335,6 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "objectorarray": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz", - "integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==", - "dev": true - }, "on-exit-leak-free": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", @@ -15162,15 +14462,6 @@ "p-limit": "^2.2.0" } }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, "p-timeout": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", @@ -15689,22 +14980,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - } - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -16069,12 +15344,6 @@ "lowercase-keys": "^1.0.0" } }, - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -16337,33 +15606,6 @@ } } }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true - }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz", - "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4", - "socks": "^2.3.3" - } - }, "sonic-boom": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.4.1.tgz", @@ -16523,15 +15765,6 @@ "tweetnacl": "~0.14.0" } }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -16944,28 +16177,6 @@ } } }, - "tar": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.8.tgz", - "integrity": "sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, "tar-stream": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", @@ -17025,16 +16236,6 @@ "dev": true, "peer": true }, - "tiny-glob": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.6.tgz", - "integrity": "sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw==", - "dev": true, - "requires": { - "globalyzer": "^0.1.0", - "globrex": "^0.1.1" - } - }, "tiny-sha1": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tiny-sha1/-/tiny-sha1-0.2.1.tgz", @@ -17098,6 +16299,12 @@ "punycode": "^2.1.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, "trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -17230,24 +16437,6 @@ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, "unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -17543,6 +16732,22 @@ "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.1.tgz", "integrity": "sha512-e8G0W+Js6P1i/aD0XoSkWfodhdTf01fiqDQk+wcSkVPkzmqDxhzKkBpJ1Y2dz3pR4Ocve7z/yx+mMI8jsRAiPg==" }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "when": { "version": "3.7.7", "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", diff --git a/package.json b/package.json index b7d5a779..0696fe26 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,11 @@ }, "devDependencies": { "archiver": "^4.0.1", - "endent": "^1.4.0", "eslint": "^7.20.0", "fs-extra": "^9.0.0", - "make-fetch-happen": "^8.0.7", + "glob": "^7.2.0", + "node-fetch": "^2.6.6", "sync-version": "^1.0.1", - "tiny-glob": "^0.2.6", "web-ext": "^6.5.0" }, "scripts": { diff --git a/tools/build-vendor.js b/tools/build-vendor.js index 7f730cac..c4d50ba3 100644 --- a/tools/build-vendor.js +++ b/tools/build-vendor.js @@ -1,14 +1,16 @@ -/* eslint-env node */ 'use strict'; + +const fetch = require('node-fetch'); +const fs = require('fs'); +const fse = require('fs-extra'); +const glob = require('glob').sync; const path = require('path'); -const endent = require('endent'); -const fetch = require('make-fetch-happen'); -const fse = require('fs-extra'); -const glob = require('tiny-glob'); +const KEEP_DIRECTORIES = null; const files = { 'codemirror': [ + KEEP_DIRECTORIES, 'addon/comment/comment.js', 'addon/dialog', 'addon/edit/closebrackets.js', @@ -35,30 +37,30 @@ const files = { 'theme/*', ], 'jsonlint': [ - 'lib/jsonlint.js → jsonlint.js', - 'README.md → LICENSE', + 'lib/jsonlint.js', + 'README.md -> LICENSE', ], 'less-bundle': [ - 'dist/less.min.js → less.min.js', + 'dist/less.min.js', ], 'lz-string-unsafe': [ 'lz-string-unsafe.min.js', ], 'stylelint-bundle': [ - 'dist/stylelint-bundle.min.js → stylelint-bundle.min.js', - 'https://github.com/stylelint/stylelint/raw/{VERSION}/LICENSE → LICENSE', + 'dist/stylelint-bundle.min.js', + 'https://github.com/stylelint/stylelint/raw/{VERSION}/LICENSE', ], 'stylus-lang-bundle': [ - 'dist/stylus-renderer.min.js → stylus-renderer.min.js', + 'dist/stylus-renderer.min.js', ], 'usercss-meta': [ - 'dist/usercss-meta.min.js → usercss-meta.min.js', + 'dist/usercss-meta.min.js', ], 'db-to-cloud': [ - 'dist/db-to-cloud.min.js → db-to-cloud.min.js', + 'dist/db-to-cloud.min.js', ], 'webext-launch-web-auth-flow': [ - 'dist/webext-launch-web-auth-flow.min.js → webext-launch-web-auth-flow.min.js', + 'dist/webext-launch-web-auth-flow.min.js', ], '@eight04/draggable-list': [ 'dist/draggable-list.iife.min.js', @@ -69,96 +71,97 @@ main().catch(console.error); async function main() { fse.emptyDirSync('vendor'); - for (const pkg in files) { - console.log('\x1b[32m%s\x1b[0m', `Building ${pkg}...`); - // other files - const [fetched, copied] = await buildFiles(pkg, files[pkg]); - // README - await fse.outputFile(`vendor/${pkg}/README.md`, generateReadme(pkg, fetched, copied)); - // LICENSE - await copyLicense(pkg); - } - console.log('\x1b[32m%s\x1b[0m', 'updating codemirror themes list...'); - await fse.outputFile('edit/codemirror-themes.js', await generateThemeList()); + await Promise.all(Object.keys(files).map(async pkg => { + console.log(`Building ${pkg}...`); + const pkgName = getFileName(pkg); + const flatPkg = pkg === pkgName || files[pkgName] + ? pkg.replace(/\//g, '-') + : pkgName; + const res = await buildFiles(pkg, flatPkg, files[pkg]); + buildLicense(pkg, flatPkg); + buildReadme(pkg, flatPkg, res); + })); + console.log('Building CodeMirror theme list...'); + buildThemeList(); } -async function generateThemeList() { - const themes = (await fse.readdir('vendor/codemirror/theme')) - .filter(name => name.endsWith('.css')) - .map(name => name.replace('.css', '')) - .sort(); - return endent` +async function buildFiles(pkg, flatPkg, patterns) { + const keepDirs = patterns.includes(KEEP_DIRECTORIES); + let fetched = ''; + let copied = ''; + for (let pattern of patterns) { + if (pattern === KEEP_DIRECTORIES) continue; + pattern = pattern.replace('{VERSION}', require(`${pkg}/package.json`).version); + const [src, dest = !keepDirs && getFileName(src)] = pattern.split(/\s*->\s*/); + if (/^https?:/.test(src)) { + fse.outputFileSync(`vendor/${flatPkg}/${dest}`, await (await fetch(src)).text()); + fetched += `* ${dest}: ${src}\n`; + } else { + const files = glob(`node_modules/${pkg}/${src}`); + if (!files.length) { + throw new Error(`Pattern ${src} matches no files`); + } + for (const file of files) { + fse.copySync(file, dest + ? `vendor/${flatPkg}/${dest}` + : `vendor/${path.relative('node_modules', file).replace(pkg + '/', flatPkg + '/')}`); + const relSrc = path.relative(`node_modules/${pkg}`, file).replace(/\\/g, '/'); + copied += dest && dest !== relSrc + ? `* ${dest}: ${ + keepDirs || getFileName(dest) !== getFileName(relSrc) + ? relSrc + : relSrc.replace(/[^/]+$/, '*') + }\n` + : `* ${relSrc}\n`; + } + } + } + return {fetched, copied}; +} + +function buildLicense(pkg, flatPkg) { + const LICENSE = `vendor/${flatPkg}/LICENSE`; + if (!fs.existsSync(LICENSE)) { + const [src] = glob(`node_modules/${pkg}/LICEN[SC]E*`); + if (!src) throw new Error(`Cannot find license file for ${pkg}`); + fse.copySync(src, LICENSE); + } +} + +function buildReadme(pkg, flatPkg, {fetched, copied}) { + const {name, version} = require(`${pkg}/package.json`); + fse.outputFileSync(`vendor/${flatPkg}/README.md`, [ + `## ${name} v${version}`, + fetched && `Files downloaded from URL:\n${fetched}`, + copied && `Files copied from NPM (node_modules):\n${copied}`, + ].filter(Boolean).join('\n\n')); +} + +function buildThemeList() { + fse.outputFileSync('edit/codemirror-themes.js', deindent(`\ /* Do not edit. This file is auto-generated by build-vendor.js */ 'use strict'; /* exported CODEMIRROR_THEMES */ const CODEMIRROR_THEMES = [ ${ - themes.map(t => ` '${t.replace(/'/g, '\\$&')}',\n`).join('') - }]; - ` + '\n'; -} - -async function copyLicense(pkg) { - try { - await fse.access(`vendor/${pkg}/LICENSE`); - return; - } catch (err) { - // pass - } - for (const file of await glob(`node_modules/${pkg}/LICEN[SC]E*`)) { - await fse.copy(file, `vendor/${pkg}/LICENSE`); - return; - } - throw new Error(`cannot find license file for ${pkg}`); -} - -async function buildFiles(pkg, patterns) { - const fetchedFiles = []; - const copiedFiles = []; - for (let pattern of patterns) { - pattern = pattern.replace('{VERSION}', require(`${pkg}/package.json`).version); - const [src, dest] = pattern.split(/\s*→\s*/); - if (src.startsWith('http')) { - const content = await (await fetch(src)).text(); - await fse.outputFile(`vendor/${pkg}/${dest}`, content); - fetchedFiles.push([src, dest]); - } else { - let dirty = false; - for (const file of await glob(`node_modules/${pkg}/${src}`)) { - if (dest) { - await fse.copy(file, `vendor/${pkg}/${dest}`); - } else { - await fse.copy(file, path.join('vendor', path.relative('node_modules', file))); - } - copiedFiles.push([path.relative(`node_modules/${pkg}`, file), dest]); - dirty = true; - } - if (!dirty) { - throw new Error(`Pattern ${src} matches no files`); - } + fs.readdirSync('vendor/codemirror/theme') + .filter(name => name.endsWith('.css')) + .map(name => name.replace('.css', '')) + .sort() + .map(t => ` '${t.replace(/'/g, '\\$&')}',`).join('\n') } - } - return [fetchedFiles, copiedFiles]; + ]; + `)); } -function generateReadme(lib, fetched, copied) { - const pkg = require(`${lib}/package.json`); - let txt = `## ${pkg.name} v${pkg.version}\n\n`; - if (fetched.length) { - txt += `Following files are downloaded from HTTP:\n\n${generateList(fetched)}\n\n`; - } - if (copied.length) { - txt += `Following files are copied from npm (node_modules):\n\n${generateList(copied)}\n`; - } - return txt; +function deindent(str) { + const indent = str.match(/^\s*/)[0]; + return indent + ? str.replace(new RegExp('^' + indent, 'gm'), '') + : str; } -function generateList(list) { - return list.map(([src, dest]) => { - if (dest) { - return `* ${dest}: ${src}`; - } - return `* ${src}`; - }).join('\n'); +function getFileName(path) { + return path.split('/').pop(); } diff --git a/vendor/@eight04/draggable-list/README.md b/vendor/@eight04/draggable-list/README.md deleted file mode 100644 index f2a4e672..00000000 --- a/vendor/@eight04/draggable-list/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## @eight04/draggable-list v0.3.0 - -Following files are copied from npm (node_modules): - -* dist\draggable-list.iife.min.js diff --git a/vendor/codemirror/README.md b/vendor/codemirror/README.md index 92a8be61..fb73b372 100644 --- a/vendor/codemirror/README.md +++ b/vendor/codemirror/README.md @@ -1,99 +1,98 @@ ## codemirror v5.63.3 -Following files are copied from npm (node_modules): - -* addon\comment\comment.js -* addon\dialog -* addon\edit\closebrackets.js -* addon\edit\matchbrackets.js -* addon\fold\brace-fold.js -* addon\fold\comment-fold.js -* addon\fold\foldcode.js -* addon\fold\foldgutter.css -* addon\fold\foldgutter.js -* addon\fold\indent-fold.js -* addon\hint\css-hint.js -* addon\hint\show-hint.css -* addon\hint\show-hint.js -* addon\lint\css-lint.js -* addon\lint\json-lint.js -* addon\lint\lint.css -* addon\lint\lint.js -* addon\scroll\annotatescrollbar.js -* addon\search\matchesonscrollbar.css -* addon\search\matchesonscrollbar.js -* addon\search\searchcursor.js -* addon\selection\active-line.js -* keymap\emacs.js -* keymap\sublime.js -* keymap\vim.js -* lib\codemirror.css -* lib\codemirror.js -* mode\css -* mode\javascript -* mode\stylus -* theme\3024-day.css -* theme\3024-night.css -* theme\abbott.css -* theme\abcdef.css -* theme\ambiance-mobile.css -* theme\ambiance.css -* theme\ayu-dark.css -* theme\ayu-mirage.css -* theme\base16-dark.css -* theme\base16-light.css -* theme\bespin.css -* theme\blackboard.css -* theme\cobalt.css -* theme\colorforth.css -* theme\darcula.css -* theme\dracula.css -* theme\duotone-dark.css -* theme\duotone-light.css -* theme\eclipse.css -* theme\elegant.css -* theme\erlang-dark.css -* theme\gruvbox-dark.css -* theme\hopscotch.css -* theme\icecoder.css -* theme\idea.css -* theme\isotope.css -* theme\juejin.css -* theme\lesser-dark.css -* theme\liquibyte.css -* theme\lucario.css -* theme\material-darker.css -* theme\material-ocean.css -* theme\material-palenight.css -* theme\material.css -* theme\mbo.css -* theme\mdn-like.css -* theme\midnight.css -* theme\monokai.css -* theme\moxer.css -* theme\neat.css -* theme\neo.css -* theme\night.css -* theme\nord.css -* theme\oceanic-next.css -* theme\panda-syntax.css -* theme\paraiso-dark.css -* theme\paraiso-light.css -* theme\pastel-on-dark.css -* theme\railscasts.css -* theme\rubyblue.css -* theme\seti.css -* theme\shadowfox.css -* theme\solarized.css -* theme\ssms.css -* theme\the-matrix.css -* theme\tomorrow-night-bright.css -* theme\tomorrow-night-eighties.css -* theme\ttcn.css -* theme\twilight.css -* theme\vibrant-ink.css -* theme\xq-dark.css -* theme\xq-light.css -* theme\yeti.css -* theme\yonce.css -* theme\zenburn.css +Files copied from NPM (node_modules): +* addon/comment/comment.js +* addon/dialog +* addon/edit/closebrackets.js +* addon/edit/matchbrackets.js +* addon/fold/brace-fold.js +* addon/fold/comment-fold.js +* addon/fold/foldcode.js +* addon/fold/foldgutter.css +* addon/fold/foldgutter.js +* addon/fold/indent-fold.js +* addon/hint/css-hint.js +* addon/hint/show-hint.css +* addon/hint/show-hint.js +* addon/lint/css-lint.js +* addon/lint/json-lint.js +* addon/lint/lint.css +* addon/lint/lint.js +* addon/scroll/annotatescrollbar.js +* addon/search/matchesonscrollbar.css +* addon/search/matchesonscrollbar.js +* addon/search/searchcursor.js +* addon/selection/active-line.js +* keymap/emacs.js +* keymap/sublime.js +* keymap/vim.js +* lib/codemirror.css +* lib/codemirror.js +* mode/css +* mode/javascript +* mode/stylus +* theme/3024-day.css +* theme/3024-night.css +* theme/abbott.css +* theme/abcdef.css +* theme/ambiance-mobile.css +* theme/ambiance.css +* theme/ayu-dark.css +* theme/ayu-mirage.css +* theme/base16-dark.css +* theme/base16-light.css +* theme/bespin.css +* theme/blackboard.css +* theme/cobalt.css +* theme/colorforth.css +* theme/darcula.css +* theme/dracula.css +* theme/duotone-dark.css +* theme/duotone-light.css +* theme/eclipse.css +* theme/elegant.css +* theme/erlang-dark.css +* theme/gruvbox-dark.css +* theme/hopscotch.css +* theme/icecoder.css +* theme/idea.css +* theme/isotope.css +* theme/juejin.css +* theme/lesser-dark.css +* theme/liquibyte.css +* theme/lucario.css +* theme/material-darker.css +* theme/material-ocean.css +* theme/material-palenight.css +* theme/material.css +* theme/mbo.css +* theme/mdn-like.css +* theme/midnight.css +* theme/monokai.css +* theme/moxer.css +* theme/neat.css +* theme/neo.css +* theme/night.css +* theme/nord.css +* theme/oceanic-next.css +* theme/panda-syntax.css +* theme/paraiso-dark.css +* theme/paraiso-light.css +* theme/pastel-on-dark.css +* theme/railscasts.css +* theme/rubyblue.css +* theme/seti.css +* theme/shadowfox.css +* theme/solarized.css +* theme/ssms.css +* theme/the-matrix.css +* theme/tomorrow-night-bright.css +* theme/tomorrow-night-eighties.css +* theme/ttcn.css +* theme/twilight.css +* theme/vibrant-ink.css +* theme/xq-dark.css +* theme/xq-light.css +* theme/yeti.css +* theme/yonce.css +* theme/zenburn.css diff --git a/vendor/db-to-cloud/README.md b/vendor/db-to-cloud/README.md index ae4bf563..37c2ab14 100644 --- a/vendor/db-to-cloud/README.md +++ b/vendor/db-to-cloud/README.md @@ -1,5 +1,4 @@ ## db-to-cloud v0.7.0 -Following files are copied from npm (node_modules): - -* db-to-cloud.min.js: dist\db-to-cloud.min.js +Files copied from NPM (node_modules): +* db-to-cloud.min.js: dist/* diff --git a/vendor/@eight04/draggable-list/LICENSE b/vendor/draggable-list/LICENSE similarity index 100% rename from vendor/@eight04/draggable-list/LICENSE rename to vendor/draggable-list/LICENSE diff --git a/vendor/draggable-list/README.md b/vendor/draggable-list/README.md new file mode 100644 index 00000000..95ece691 --- /dev/null +++ b/vendor/draggable-list/README.md @@ -0,0 +1,4 @@ +## @eight04/draggable-list v0.3.0 + +Files copied from NPM (node_modules): +* draggable-list.iife.min.js: dist/* diff --git a/vendor/@eight04/draggable-list/dist/draggable-list.iife.min.js b/vendor/draggable-list/draggable-list.iife.min.js similarity index 100% rename from vendor/@eight04/draggable-list/dist/draggable-list.iife.min.js rename to vendor/draggable-list/draggable-list.iife.min.js diff --git a/vendor/jsonlint/README.md b/vendor/jsonlint/README.md index 514a292b..22e6656d 100644 --- a/vendor/jsonlint/README.md +++ b/vendor/jsonlint/README.md @@ -1,6 +1,5 @@ ## jsonlint v1.6.3 -Following files are copied from npm (node_modules): - -* jsonlint.js: lib\jsonlint.js +Files copied from NPM (node_modules): +* jsonlint.js: lib/* * LICENSE: README.md diff --git a/vendor/less-bundle/README.md b/vendor/less-bundle/README.md index 8c399f99..5e35e096 100644 --- a/vendor/less-bundle/README.md +++ b/vendor/less-bundle/README.md @@ -1,5 +1,4 @@ ## less-bundle v0.1.0 -Following files are copied from npm (node_modules): - -* less.min.js: dist\less.min.js +Files copied from NPM (node_modules): +* less.min.js: dist/* diff --git a/vendor/lz-string-unsafe/README.md b/vendor/lz-string-unsafe/README.md index 121225d2..c5dfe8bd 100644 --- a/vendor/lz-string-unsafe/README.md +++ b/vendor/lz-string-unsafe/README.md @@ -1,5 +1,4 @@ ## lz-string-unsafe v1.4.4-fork-1 -Following files are copied from npm (node_modules): - +Files copied from NPM (node_modules): * lz-string-unsafe.min.js diff --git a/vendor/stylelint-bundle/README.md b/vendor/stylelint-bundle/README.md index c360969c..71703e76 100644 --- a/vendor/stylelint-bundle/README.md +++ b/vendor/stylelint-bundle/README.md @@ -1,9 +1,8 @@ ## stylelint-bundle v13.8.0 -Following files are downloaded from HTTP: - +Files downloaded from URL: * LICENSE: https://github.com/stylelint/stylelint/raw/13.8.0/LICENSE -Following files are copied from npm (node_modules): -* stylelint-bundle.min.js: dist\stylelint-bundle.min.js +Files copied from NPM (node_modules): +* stylelint-bundle.min.js: dist/* diff --git a/vendor/stylus-lang-bundle/README.md b/vendor/stylus-lang-bundle/README.md index 14ea2e9c..33b43e3c 100644 --- a/vendor/stylus-lang-bundle/README.md +++ b/vendor/stylus-lang-bundle/README.md @@ -1,5 +1,4 @@ ## stylus-lang-bundle v0.54.7 -Following files are copied from npm (node_modules): - -* stylus-renderer.min.js: dist\stylus-renderer.min.js +Files copied from NPM (node_modules): +* stylus-renderer.min.js: dist/* diff --git a/vendor/usercss-meta/README.md b/vendor/usercss-meta/README.md index d5bb5fc5..3dbc3e59 100644 --- a/vendor/usercss-meta/README.md +++ b/vendor/usercss-meta/README.md @@ -1,5 +1,4 @@ ## usercss-meta v0.12.0 -Following files are copied from npm (node_modules): - -* usercss-meta.min.js: dist\usercss-meta.min.js +Files copied from NPM (node_modules): +* usercss-meta.min.js: dist/* diff --git a/vendor/webext-launch-web-auth-flow/README.md b/vendor/webext-launch-web-auth-flow/README.md index b7e3d7d7..82824522 100644 --- a/vendor/webext-launch-web-auth-flow/README.md +++ b/vendor/webext-launch-web-auth-flow/README.md @@ -1,5 +1,4 @@ ## webext-launch-web-auth-flow v0.1.1 -Following files are copied from npm (node_modules): - -* webext-launch-web-auth-flow.min.js: dist\webext-launch-web-auth-flow.min.js +Files copied from NPM (node_modules): +* webext-launch-web-auth-flow.min.js: dist/*