Refactor: rewrite build script
This commit is contained in:
parent
5693099f3d
commit
f22b313751
|
@ -211,3 +211,12 @@ rules:
|
|||
wrap-iife: [2, inside]
|
||||
yield-star-spacing: [2, {before: true, after: false}]
|
||||
yoda: [2, never]
|
||||
|
||||
overrides:
|
||||
- files: [tools/*]
|
||||
env:
|
||||
node: true
|
||||
browser: false
|
||||
webextensions: false
|
||||
parserOptions:
|
||||
ecmaVersion: 2017
|
||||
|
|
560
package-lock.json
generated
560
package-lock.json
generated
|
@ -676,6 +676,33 @@
|
|||
"integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
|
||||
"dev": true
|
||||
},
|
||||
"agent-base": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
|
||||
"integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
|
||||
"dev": true
|
||||
},
|
||||
"agentkeepalive": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.0.tgz",
|
||||
"integrity": "sha512-CW/n1wxF8RpEuuiq6Vbn9S8m0VSYDMnZESqaJ6F2cWN9fY8rei2qaxweIaRgq+ek8TqfoFIsUjaGNKGGEHElSg==",
|
||||
"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.11.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
|
||||
|
@ -789,6 +816,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
|
||||
"dev": true
|
||||
},
|
||||
"archiver": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz",
|
||||
|
@ -1370,6 +1403,47 @@
|
|||
"safe-json-stringify": "~1"
|
||||
}
|
||||
},
|
||||
"cacache": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-14.0.0.tgz",
|
||||
"integrity": "sha512-+Nr/BnA/tjAUXza9gH8F+FSP+1HvWqCKt4c95dQr4EDVJVafbzmPZpLKCkLYexs6vSd2B/1TOXrAoNnqVPfvRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chownr": "^1.1.2",
|
||||
"figgy-pudding": "^3.5.1",
|
||||
"fs-minipass": "^2.0.0",
|
||||
"glob": "^7.1.4",
|
||||
"graceful-fs": "^4.2.2",
|
||||
"infer-owner": "^1.0.4",
|
||||
"lru-cache": "^5.1.1",
|
||||
"minipass": "^3.0.0",
|
||||
"minipass-collect": "^1.0.2",
|
||||
"minipass-flush": "^1.0.5",
|
||||
"minipass-pipeline": "^1.2.2",
|
||||
"mkdirp": "^1.0.3",
|
||||
"move-concurrently": "^1.0.1",
|
||||
"p-map": "^3.0.0",
|
||||
"promise-inflight": "^1.0.1",
|
||||
"rimraf": "^2.7.1",
|
||||
"ssri": "^7.0.0",
|
||||
"tar": "^6.0.0",
|
||||
"unique-filename": "^1.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"graceful-fs": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
|
||||
"integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
|
||||
"dev": true
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz",
|
||||
"integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"cache-base": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
|
||||
|
@ -2092,6 +2166,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
|
||||
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
|
||||
"dev": true
|
||||
},
|
||||
"chrome-launcher": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.12.0.tgz",
|
||||
|
@ -2151,6 +2231,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"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.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz",
|
||||
|
@ -2367,6 +2453,20 @@
|
|||
"xdg-basedir": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"copy-concurrently": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
|
||||
"integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aproba": "^1.1.1",
|
||||
"fs-write-stream-atomic": "^1.0.8",
|
||||
"iferr": "^0.1.5",
|
||||
"mkdirp": "^0.5.1",
|
||||
"rimraf": "^2.5.4",
|
||||
"run-queue": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"copy-descriptor": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
|
||||
|
@ -2633,6 +2733,12 @@
|
|||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
||||
"dev": true
|
||||
},
|
||||
"depd": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
|
||||
"dev": true
|
||||
},
|
||||
"detect-indent": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz",
|
||||
|
@ -2662,6 +2768,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"docopt": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/docopt/-/docopt-0.6.2.tgz",
|
||||
"integrity": "sha1-so6eIiDaXsSffqW7JKR3h0Be6xE=",
|
||||
"dev": true
|
||||
},
|
||||
"doctrine": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||
|
@ -2765,6 +2877,16 @@
|
|||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"dev": 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.1",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
|
||||
|
@ -2791,6 +2913,12 @@
|
|||
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
|
||||
"dev": true
|
||||
},
|
||||
"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",
|
||||
|
@ -2872,6 +3000,27 @@
|
|||
"event-emitter": "~0.3.5"
|
||||
}
|
||||
},
|
||||
"es6-object-assign": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
|
||||
"integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=",
|
||||
"dev": true
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "4.2.8",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
|
||||
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
|
||||
"dev": true
|
||||
},
|
||||
"es6-promisify": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
|
||||
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es6-promise": "^4.0.3"
|
||||
}
|
||||
},
|
||||
"es6-set": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
|
||||
|
@ -3712,6 +3861,12 @@
|
|||
"pend": "~1.2.0"
|
||||
}
|
||||
},
|
||||
"figgy-pudding": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
|
||||
"integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
|
||||
"dev": true
|
||||
},
|
||||
"figures": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
|
||||
|
@ -3974,6 +4129,27 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"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-write-stream-atomic": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
|
||||
"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"iferr": "^0.1.5",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"readable-stream": "1 || 2"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
|
@ -4153,6 +4329,18 @@
|
|||
"type-fest": "^0.8.1"
|
||||
}
|
||||
},
|
||||
"globalyzer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz",
|
||||
"integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==",
|
||||
"dev": true
|
||||
},
|
||||
"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
|
||||
},
|
||||
"got": {
|
||||
"version": "9.6.0",
|
||||
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
|
||||
|
@ -4315,6 +4503,22 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"http-cache-semantics": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
|
||||
"integrity": "sha512-Z2EICWNJou7Tr9Bd2M2UqDJq3A9F2ePG9w3lIpjoyuSyXFP9QbniJVu3XQYytuw5ebmG7dXSXO9PgAjJG8DDKA==",
|
||||
"dev": true
|
||||
},
|
||||
"http-proxy-agent": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-3.0.0.tgz",
|
||||
"integrity": "sha512-uGuJaBWQWDQCJI5ip0d/VTYZW0nRrlLWXA4A7P1jrsa+f77rW2yXz315oBt6zGCF6l8C2tlMxY7ffULCj+5FhA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"agent-base": "5",
|
||||
"debug": "4"
|
||||
}
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
|
@ -4326,6 +4530,25 @@
|
|||
"sshpk": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
|
||||
"integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"agent-base": "5",
|
||||
"debug": "4"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
|
@ -4341,6 +4564,12 @@
|
|||
"integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
|
||||
"dev": true
|
||||
},
|
||||
"iferr": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
|
||||
"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
|
||||
"dev": true
|
||||
},
|
||||
"ignore": {
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
|
||||
|
@ -4369,6 +4598,18 @@
|
|||
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
|
||||
"dev": true
|
||||
},
|
||||
"indent-string": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
|
||||
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
|
||||
"dev": true
|
||||
},
|
||||
"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",
|
||||
|
@ -4424,6 +4665,12 @@
|
|||
"integrity": "sha512-JzF8q2BeZA1ZkE3XROwRpoMQ9ObMgTtp0JH8EXewlbkikuOj2GPLIpUipdO+VL8QsTr2teAJD02EFGGL5cO7uw==",
|
||||
"dev": true
|
||||
},
|
||||
"ip": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
|
||||
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
|
||||
"dev": true
|
||||
},
|
||||
"is-absolute": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
|
||||
|
@ -4577,6 +4824,12 @@
|
|||
"is-path-inside": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
|
@ -5123,6 +5376,23 @@
|
|||
"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",
|
||||
|
@ -5146,6 +5416,29 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"make-fetch-happen": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-7.1.1.tgz",
|
||||
"integrity": "sha512-7fNjiOXNZhNGQzG5P15nU97aZQtzPU2GVgVd7pnqnl5gnpLzMAD8bAe5YG4iW2s0PTqaZy9xGv4Wfqe872kRNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"agentkeepalive": "^4.1.0",
|
||||
"cacache": "^14.0.0",
|
||||
"http-cache-semantics": "^4.0.3",
|
||||
"http-proxy-agent": "^3.0.0",
|
||||
"https-proxy-agent": "^4.0.0",
|
||||
"is-lambda": "^1.0.1",
|
||||
"lru-cache": "^5.1.1",
|
||||
"minipass": "^3.0.0",
|
||||
"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": "^4.0.0",
|
||||
"ssri": "^7.0.1"
|
||||
}
|
||||
},
|
||||
"map-age-cleaner": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
|
||||
|
@ -5259,6 +5552,74 @@
|
|||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"dev": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz",
|
||||
"integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==",
|
||||
"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.2",
|
||||
"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz",
|
||||
"integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==",
|
||||
"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.0",
|
||||
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
|
||||
"integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.0.0",
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"mixin-deep": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
||||
|
@ -5304,6 +5665,20 @@
|
|||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"move-concurrently": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
|
||||
"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aproba": "^1.1.1",
|
||||
"copy-concurrently": "^1.0.0",
|
||||
"fs-write-stream-atomic": "^1.0.8",
|
||||
"mkdirp": "^0.5.1",
|
||||
"rimraf": "^2.5.4",
|
||||
"run-queue": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
|
@ -5783,6 +6158,15 @@
|
|||
"p-limit": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"p-map": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
|
||||
"integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aggregate-error": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"p-try": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
|
||||
|
@ -5990,6 +6374,22 @@
|
|||
"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"
|
||||
}
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
|
||||
|
@ -6299,6 +6699,21 @@
|
|||
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
|
||||
"dev": true
|
||||
},
|
||||
"retry": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
|
||||
"integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
|
||||
"dev": true
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"run-async": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
|
||||
|
@ -6308,6 +6723,15 @@
|
|||
"is-promise": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"run-queue": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
|
||||
"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aproba": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"rx-lite": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
|
||||
|
@ -6478,6 +6902,30 @@
|
|||
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
|
||||
"dev": true
|
||||
},
|
||||
"shx": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/shx/-/shx-0.3.2.tgz",
|
||||
"integrity": "sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es6-object-assign": "^1.0.3",
|
||||
"minimist": "^1.2.0",
|
||||
"shelljs": "^0.8.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"shelljs": {
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
|
||||
"integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.0.0",
|
||||
"interpret": "^1.0.0",
|
||||
"rechoir": "^0.6.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sign-addon": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/sign-addon/-/sign-addon-2.0.4.tgz",
|
||||
|
@ -6535,6 +6983,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"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
|
||||
},
|
||||
"snapdragon": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
|
||||
|
@ -6663,6 +7117,37 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"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": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
|
||||
"integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"agent-base": "~4.2.1",
|
||||
"socks": "~2.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"agent-base": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
|
||||
"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es6-promisify": "^5.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sonic-boom": {
|
||||
"version": "0.7.6",
|
||||
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.6.tgz",
|
||||
|
@ -6758,6 +7243,16 @@
|
|||
"tweetnacl": "~0.14.0"
|
||||
}
|
||||
},
|
||||
"ssri": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz",
|
||||
"integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"figgy-pudding": "^3.5.1",
|
||||
"minipass": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"static-extend": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
|
||||
|
@ -6982,6 +7477,15 @@
|
|||
"has-flag": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"sync-version": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/sync-version/-/sync-version-1.0.1.tgz",
|
||||
"integrity": "sha1-Y6aglKmigcUqgA1obqu5ZgH4igs=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"docopt": "^0.6.2"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"version": "5.4.6",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
|
||||
|
@ -7050,6 +7554,28 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.0.1.tgz",
|
||||
"integrity": "sha512-bKhKrrz2FJJj5s7wynxy/fyxpE0CmCjmOQ1KV4KkgXFWOgoIT/NbTMnB1n+LFNrNk0SSBVGGxcK5AGsyC+pW5Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chownr": "^1.1.3",
|
||||
"fs-minipass": "^2.0.0",
|
||||
"minipass": "^3.0.0",
|
||||
"minizlib": "^2.1.0",
|
||||
"mkdirp": "^1.0.3",
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"mkdirp": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz",
|
||||
"integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"tar-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
|
||||
|
@ -7101,6 +7627,16 @@
|
|||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
|
||||
"dev": 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"
|
||||
}
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
||||
|
@ -7284,6 +7820,24 @@
|
|||
"set-value": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
|
@ -7775,6 +8329,12 @@
|
|||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
"version": "15.0.2",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz",
|
||||
|
|
22
package.json
22
package.json
|
@ -15,22 +15,30 @@
|
|||
"jsonlint": "^1.6.3",
|
||||
"less-bundle": "github:openstyles/less-bundle#v0.1.0",
|
||||
"lz-string-unsafe": "^1.4.4-fork-1",
|
||||
"make-fetch-happen": "^7.1.1",
|
||||
"semver-bundle": "^0.1.1",
|
||||
"shx": "^0.3.2",
|
||||
"stylelint-bundle": "^8.0.0",
|
||||
"stylus-lang-bundle": "^0.54.5",
|
||||
"sync-version": "^1.0.1",
|
||||
"tiny-glob": "^0.2.6",
|
||||
"usercss-meta": "^0.9.0",
|
||||
"uuid": "^3.4.0",
|
||||
"web-ext": "^4.0.0",
|
||||
"webext-tx-fix": "^0.3.3"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint **/*.js --cache || exit 0",
|
||||
"update": "npm run update-main",
|
||||
"lint": "eslint \"**/*.js\" --cache",
|
||||
"test": "npm run lint && web-ext lint",
|
||||
"update-locales": "tx pull --all && webext-tx-fix",
|
||||
"update-main": "npm run update-versions && npm run update-vendor",
|
||||
"update-transifex": "tx push -s",
|
||||
"update-vendor": "node tools/update-libraries.js && node tools/update-codemirror-themes.js",
|
||||
"update-versions": "node tools/update-versions",
|
||||
"zip": "npm run update-versions && node tools/zip.js",
|
||||
"start": "web-ext run"
|
||||
"build-vendor": "shx rm -rf vendor/* && node tools/build-vendor",
|
||||
"zip": "node tools/zip.js",
|
||||
"start": "web-ext run",
|
||||
"preversion": "npm test",
|
||||
"version": "sync-version manifest.json && git add ."
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
# https://github.com/eslint/eslint/blob/master/docs/rules/README.md
|
||||
|
||||
parserOptions:
|
||||
ecmaVersion: 2017
|
||||
|
||||
env:
|
||||
browser: true
|
||||
es6: true
|
||||
node: true
|
141
tools/build-vendor.js
Normal file
141
tools/build-vendor.js
Normal file
|
@ -0,0 +1,141 @@
|
|||
/* eslint-env node */
|
||||
'use strict';
|
||||
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 files = {
|
||||
'codemirror': [
|
||||
'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.*',
|
||||
'addon/fold/indent-fold.js',
|
||||
'addon/hint/css-hint.js',
|
||||
'addon/hint/show-hint.*',
|
||||
'addon/lint/css-lint.js',
|
||||
'addon/lint/json-lint.js',
|
||||
'addon/lint/lint.*',
|
||||
'addon/scroll/annotatescrollbar.js',
|
||||
'addon/search/matchesonscrollbar.*',
|
||||
'addon/search/searchcursor.js',
|
||||
'addon/selection/active-line.js',
|
||||
'theme'
|
||||
],
|
||||
'jsonlint': [
|
||||
'lib/jsonlint.js → jsonlint.js'
|
||||
],
|
||||
'less-bundle': [
|
||||
'dist/less.min.js → less.min.js'
|
||||
],
|
||||
'lz-string-unsafe': [
|
||||
'lz-string-unsafe.min.js'
|
||||
],
|
||||
'semver-bundle': [
|
||||
'dist/semver.js → semver.js'
|
||||
],
|
||||
'stylelint-bundle': [
|
||||
'stylelint-bundle.min.js'
|
||||
],
|
||||
'stylus-lang-bundle': [
|
||||
'stylus.min.js'
|
||||
],
|
||||
'usercss-meta': [
|
||||
'dist/usercss-meta.min.js → usercss-meta.min.js'
|
||||
],
|
||||
'db-to-cloud': [
|
||||
'dist/db-to-cloud.min.js → db-to-cloud.min.js'
|
||||
],
|
||||
'uuid': [
|
||||
'https://bundle.run/uuid@{VERSION}/v4.js → uuid.min.js'
|
||||
]
|
||||
};
|
||||
|
||||
main().catch(console.error);
|
||||
|
||||
async function main() {
|
||||
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 fse.copy(`node_modules/${pkg}/LICENSE`, `vendor/${pkg}/LICENSE`);
|
||||
}
|
||||
console.log('\x1b[32m%s\x1b[0m', 'updating codemirror themes list...');
|
||||
await fse.outputFile('edit/codemirror-themes.js', await generateThemeList());
|
||||
}
|
||||
|
||||
async function generateThemeList() {
|
||||
const themes = (await fse.readdir('vendor/codemirror/theme'))
|
||||
.filter(name => name.endsWith('.css'))
|
||||
.map(name => name.replace('.css', ''))
|
||||
.sort();
|
||||
return endent`
|
||||
/* exported CODEMIRROR_THEMES */
|
||||
// this file is generated by update-codemirror-themes.js
|
||||
'use strict';
|
||||
|
||||
const CODEMIRROR_THEMES = ${JSON.stringify(themes, null, 2)};
|
||||
`.replace(/"/g, "'") + '\n';
|
||||
}
|
||||
|
||||
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();
|
||||
fse.outputFile(`vendor/${pkg}/${dest}`, content);
|
||||
fetchedFiles.push([src, dest]);
|
||||
} else {
|
||||
for (const file of glob(`node_modules/${pkg}/${src}`)) {
|
||||
if (!dest) {
|
||||
await fse.copy(file, path.join('vendor', path.relative('node_modules', file)));
|
||||
} else {
|
||||
await fse.copy(file, dest);
|
||||
}
|
||||
copiedFiles.push([path.relative(`node_modules/${pkg}`, file), dest]);
|
||||
}
|
||||
}
|
||||
}
|
||||
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 generateList(list) {
|
||||
return list.map(([src, dest]) => {
|
||||
if (dest) {
|
||||
return `* ${dest}: ${src}`;
|
||||
}
|
||||
return `* ${src}`;
|
||||
}).join('\n');
|
||||
}
|
||||
|
||||
// Rename CodeMirror$1 -> CodeMirror for development purposes
|
||||
// FIXME: is this a workaround for old version of codemirror?
|
||||
// function renameCodeMirrorVariable(filePath) {
|
||||
// const file = fs.readFileSync(filePath, 'utf8');
|
||||
// fs.writeFileSync(filePath, file.replace(/CodeMirror\$1/g, 'CodeMirror'));
|
||||
// }
|
|
@ -1,39 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs-extra');
|
||||
const path = require('path');
|
||||
const endent = require('endent');
|
||||
|
||||
// Update theme names list in codemirror-editing-hook.js
|
||||
async function getThemes() {
|
||||
const p = path.join(__dirname, '..', 'vendor/codemirror/theme/');
|
||||
const files = await fs.readdir(p);
|
||||
return files
|
||||
.filter(name => name.endsWith('.css'))
|
||||
.map(name => name.replace('.css', ''))
|
||||
.sort();
|
||||
}
|
||||
|
||||
async function updateHook(themes) {
|
||||
const fileName = path.join(__dirname, '..', 'edit/codemirror-themes.js');
|
||||
fs.writeFile(fileName, endent`
|
||||
/* exported CODEMIRROR_THEMES */
|
||||
// this file is generated by update-codemirror-themes.js
|
||||
'use strict';
|
||||
|
||||
const CODEMIRROR_THEMES = ${JSON.stringify(themes, null, 2)};
|
||||
`.replace(/"/g, "'") + '\n');
|
||||
}
|
||||
|
||||
function exit(err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
}
|
||||
process.exit(err ? 1 : 0);
|
||||
}
|
||||
|
||||
getThemes()
|
||||
.then(themes => updateHook(themes))
|
||||
.then(() => console.log('\x1b[32m%s\x1b[0m', 'codemirror themes list updated'))
|
||||
.catch(exit);
|
|
@ -1,129 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs-extra');
|
||||
const path = require('path');
|
||||
|
||||
const root = path.join(__dirname, '..');
|
||||
|
||||
const files = {
|
||||
'codemirror': [
|
||||
'*', // only update existing vendor files
|
||||
'theme' // update all theme files
|
||||
],
|
||||
'jsonlint': [
|
||||
'lib/jsonlint.js → jsonlint.js'
|
||||
],
|
||||
'less-bundle': [
|
||||
'dist/less.min.js → less.min.js'
|
||||
],
|
||||
'lz-string-unsafe': [
|
||||
'lz-string-unsafe.min.js'
|
||||
],
|
||||
'semver-bundle': [
|
||||
'dist/semver.js → semver.js'
|
||||
],
|
||||
'stylelint-bundle': [
|
||||
'stylelint-bundle.min.js'
|
||||
],
|
||||
'stylus-lang-bundle': [
|
||||
'stylus.min.js'
|
||||
],
|
||||
'usercss-meta': [
|
||||
'dist/usercss-meta.min.js → usercss-meta.min.js'
|
||||
],
|
||||
'db-to-cloud': [
|
||||
'dist/db-to-cloud.min.js → db-to-cloud.min.js'
|
||||
]
|
||||
};
|
||||
|
||||
async function updateReadme(lib) {
|
||||
const pkg = await fs.readJson(`${root}/node_modules/${lib}/package.json`);
|
||||
const file = `${root}/vendor/${lib}/README.md`;
|
||||
const txt = await fs.readFile(file, 'utf8');
|
||||
return fs.writeFile(file, txt.replace(/\b([v@])[\d.]+[-\w]*\b/g, `$1${pkg.version}`));
|
||||
}
|
||||
|
||||
function isFolder(fileOrFolder) {
|
||||
const stat = fs.statSync(fileOrFolder);
|
||||
return stat.isDirectory();
|
||||
}
|
||||
|
||||
// Rename CodeMirror$1 -> CodeMirror for development purposes
|
||||
function renameCodeMirrorVariable(filePath) {
|
||||
const file = fs.readFileSync(filePath, 'utf8');
|
||||
fs.writeFileSync(filePath, file.replace(/CodeMirror\$1/g, 'CodeMirror'));
|
||||
}
|
||||
|
||||
function updateExisting(lib) {
|
||||
const libRoot = `${root}/node_modules/`;
|
||||
const vendorRoot = `${root}/vendor/`;
|
||||
const folders = [lib];
|
||||
|
||||
const process = function () {
|
||||
if (folders.length) {
|
||||
const folder = folders.shift();
|
||||
const folderRoot = `${vendorRoot}${folder}`;
|
||||
const entries = fs.readdirSync(folderRoot);
|
||||
entries.forEach(entry => {
|
||||
if (entry !== 'README.md' && entry !== 'LICENSE') {
|
||||
// Ignore README.md & LICENSE files
|
||||
const entryPath = `${folderRoot}/${entry}`;
|
||||
try {
|
||||
if (fs.existsSync(entryPath)) {
|
||||
if (isFolder(entryPath)) {
|
||||
folders.push(`${folder}/${entry}`);
|
||||
} else {
|
||||
fs.copySync(`${libRoot}${folder}/${entry}`, entryPath);
|
||||
// Remove $1 from "CodeMirror$1" in codemirror.js
|
||||
if (entry === 'codemirror.js') {
|
||||
renameCodeMirrorVariable(entryPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
// Show error in case file exists in vendor, but not in node_modules
|
||||
console.log('\x1b[36m%s\x1b[0m', `"${entryPath}" doesn't exist!`);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
if (folders.length) {
|
||||
process();
|
||||
}
|
||||
};
|
||||
|
||||
process();
|
||||
}
|
||||
|
||||
async function copy(lib, folder) {
|
||||
const [src, dest] = folder.split(/\s*→\s*/);
|
||||
try {
|
||||
if (folder === '*') {
|
||||
updateExisting(lib);
|
||||
} else {
|
||||
await fs.copy(`${root}/node_modules/${lib}/${src}`, `${root}/vendor/${lib}/${dest || src}`);
|
||||
}
|
||||
} catch (err) {
|
||||
exit(err);
|
||||
}
|
||||
}
|
||||
|
||||
function exit(err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
}
|
||||
process.exit(err ? 1 : 0);
|
||||
}
|
||||
|
||||
Object.keys(files).forEach(lib => {
|
||||
updateReadme(lib);
|
||||
files[lib].forEach(folder => {
|
||||
if (folder === '*') {
|
||||
updateExisting(lib);
|
||||
} else {
|
||||
copy(lib, folder);
|
||||
}
|
||||
});
|
||||
console.log('\x1b[32m%s\x1b[0m', `${lib} files updated`);
|
||||
});
|
|
@ -1,70 +0,0 @@
|
|||
#!/usr/bin/env node
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs-extra');
|
||||
const path = require('path');
|
||||
const root = path.join(__dirname, '..');
|
||||
|
||||
const good = '\x1b[32m%s\x1b[0m';
|
||||
const warn = '\x1b[36m%s\x1b[0m';
|
||||
|
||||
function exit(err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
}
|
||||
process.exit(err ? 1 : 0);
|
||||
}
|
||||
|
||||
function verToArray(v) {
|
||||
return v.replace('v', '').split('.').map(Number);
|
||||
}
|
||||
|
||||
// Simple compare function since we can't require semverCompare here
|
||||
function compare(v1, v2) {
|
||||
if (v1 === v2) {
|
||||
return 0;
|
||||
}
|
||||
const [maj1, min1, pat1] = verToArray(v1);
|
||||
const [maj2, min2, pat2] = verToArray(v2);
|
||||
const majMatch = maj1 === maj2;
|
||||
const minMatch = min1 === min2;
|
||||
if (
|
||||
maj1 > maj2 ||
|
||||
majMatch && min1 > min2 ||
|
||||
majMatch && minMatch && pat1 > pat2
|
||||
) {
|
||||
return 1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
async function updateVersions() {
|
||||
const regexp = /"([v\d.]+)"/;
|
||||
const manifest = await fs.readFile(`${root}/manifest.json`, 'utf8');
|
||||
const pkg = await fs.readFile(`${root}/package.json`, 'utf8');
|
||||
const manifestVersion = manifest.match(regexp);
|
||||
const pkgVersion = pkg.match(regexp);
|
||||
if (manifestVersion && pkgVersion) {
|
||||
const result = compare(manifestVersion[1], pkgVersion[1]);
|
||||
let match, version, file, str;
|
||||
if (result === 0) {
|
||||
return console.log(good, 'Manifest & package versions match');
|
||||
} else if (result > 0) {
|
||||
match = pkgVersion;
|
||||
version = manifestVersion[1];
|
||||
file = 'package.json';
|
||||
str = pkg;
|
||||
} else {
|
||||
match = manifestVersion;
|
||||
version = pkgVersion[1];
|
||||
file = 'manifest.json';
|
||||
str = manifest;
|
||||
}
|
||||
console.log(warn, `Updating ${file} to ${version}`);
|
||||
str = str.slice(0, match.index + 1) + version + str.slice(match.index + match[1].length + 1);
|
||||
return fs.writeFile(`${root}/${file}`, str);
|
||||
}
|
||||
throw Error(`Error reading ${manifestVersion ? '' : 'manifest.json'} ${pkgVersion ? '' : 'package.json'}`);
|
||||
}
|
||||
|
||||
updateVersions().catch(err => exit(err));
|
Loading…
Reference in New Issue
Block a user