diff options
| -rw-r--r-- | examples/kitchen-sink/package-lock.json | 2001 | ||||
| -rw-r--r-- | examples/kitchen-sink/package.json | 1 | ||||
| -rw-r--r-- | snowpack-plugin.cjs | 4 | ||||
| -rw-r--r-- | src/@types/compiler.ts | 2 | ||||
| -rw-r--r-- | src/build.ts | 4 | ||||
| -rw-r--r-- | src/build/bundle.ts | 18 | ||||
| -rw-r--r-- | src/compiler/codegen/index.ts | 12 | ||||
| -rw-r--r-- | src/runtime.ts | 34 | ||||
| -rw-r--r-- | test/astro-dynamic.test.js | 30 | ||||
| -rw-r--r-- | test/fixtures/astro-dynamic/astro/components/Counter.jsx | 9 | ||||
| -rw-r--r-- | test/fixtures/astro-dynamic/astro/pages/index.astro | 9 | 
11 files changed, 1342 insertions, 782 deletions
| diff --git a/examples/kitchen-sink/package-lock.json b/examples/kitchen-sink/package-lock.json index 3355557c1..1088d9907 100644 --- a/examples/kitchen-sink/package-lock.json +++ b/examples/kitchen-sink/package-lock.json @@ -77,6 +77,7 @@        "dev": true,        "requires": {          "@babel/generator": "^7.13.9", +        "@babel/parser": "^7.13.15",          "@babel/traverse": "^7.13.15",          "@snowpack/plugin-sass": "^1.4.0",          "@snowpack/plugin-svelte": "^3.6.0", @@ -92,6 +93,7 @@          "find-up": "^5.0.0",          "github-slugger": "^1.3.0",          "gray-matter": "^4.0.2", +        "hast-to-hyperscript": "^9.0.1",          "kleur": "^4.1.4",          "locate-character": "^2.0.5",          "magic-string": "^0.25.3", @@ -99,7 +101,9 @@          "micromark-extension-gfm": "^0.3.3",          "micromark-extension-mdx-expression": "^0.3.2",          "micromark-extension-mdx-jsx": "^0.3.3", +        "moize": "^6.0.1",          "node-fetch": "^2.6.1", +        "picomatch": "^2.2.3",          "postcss": "^8.2.8",          "postcss-icss-keyframes": "^0.2.1",          "preact": "^10.5.13", @@ -111,7 +115,7 @@          "rollup": "^2.43.1",          "rollup-plugin-terser": "^7.0.2",          "sass": "^1.32.8", -        "snowpack": "^3.2.2", +        "snowpack": "^3.3.2",          "svelte": "^3.35.0",          "tiny-glob": "^0.2.8",          "unified": "^9.2.1", @@ -224,9 +228,9 @@            }          },          "@babel/parser": { -          "version": "7.13.10", -          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.10.tgz", -          "integrity": "sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ==", +          "version": "7.13.15", +          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.15.tgz", +          "integrity": "sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==",            "dev": true          },          "@babel/template": { @@ -241,22 +245,32 @@            }          },          "@babel/traverse": { -          "version": "7.13.0", -          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", -          "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", +          "version": "7.13.15", +          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.15.tgz", +          "integrity": "sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==",            "dev": true,            "requires": {              "@babel/code-frame": "^7.12.13", -            "@babel/generator": "^7.13.0", +            "@babel/generator": "^7.13.9",              "@babel/helper-function-name": "^7.12.13",              "@babel/helper-split-export-declaration": "^7.12.13", -            "@babel/parser": "^7.13.0", -            "@babel/types": "^7.13.0", +            "@babel/parser": "^7.13.15", +            "@babel/types": "^7.13.14",              "debug": "^4.1.0", -            "globals": "^11.1.0", -            "lodash": "^4.17.19" +            "globals": "^11.1.0"            },            "dependencies": { +            "@babel/types": { +              "version": "7.13.14", +              "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", +              "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", +              "dev": true, +              "requires": { +                "@babel/helper-validator-identifier": "^7.12.11", +                "lodash": "^4.17.19", +                "to-fast-properties": "^2.0.0" +              } +            },              "globals": {                "version": "11.12.0",                "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -334,10 +348,86 @@              "fastq": "^1.6.0"            }          }, -        "@sindresorhus/is": { -          "version": "0.14.0", -          "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", -          "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" +        "@npmcli/ci-detect": { +          "version": "1.3.0", +          "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz", +          "integrity": "sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==", +          "dev": true +        }, +        "@npmcli/git": { +          "version": "2.0.8", +          "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.0.8.tgz", +          "integrity": "sha512-LPnzyBZ+1p7+JzHVwwKycMF8M3lr1ze3wxGRnxn/QxJtk++Y3prSJQrdBDGCxJyRpFsup6J3lrRBVYBhJVrM8Q==", +          "dev": true, +          "requires": { +            "@npmcli/promise-spawn": "^1.3.2", +            "lru-cache": "^6.0.0", +            "mkdirp": "^1.0.4", +            "npm-pick-manifest": "^6.1.1", +            "promise-inflight": "^1.0.1", +            "promise-retry": "^2.0.1", +            "semver": "^7.3.5", +            "which": "^2.0.2" +          }, +          "dependencies": { +            "semver": { +              "version": "7.3.5", +              "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", +              "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", +              "dev": true, +              "requires": { +                "lru-cache": "^6.0.0" +              } +            } +          } +        }, +        "@npmcli/installed-package-contents": { +          "version": "1.0.7", +          "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", +          "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", +          "dev": true, +          "requires": { +            "npm-bundled": "^1.1.1", +            "npm-normalize-package-bin": "^1.0.1" +          } +        }, +        "@npmcli/move-file": { +          "version": "1.1.2", +          "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", +          "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", +          "dev": true, +          "requires": { +            "mkdirp": "^1.0.4", +            "rimraf": "^3.0.2" +          } +        }, +        "@npmcli/node-gyp": { +          "version": "1.0.2", +          "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz", +          "integrity": "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==", +          "dev": true +        }, +        "@npmcli/promise-spawn": { +          "version": "1.3.2", +          "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", +          "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", +          "dev": true, +          "requires": { +            "infer-owner": "^1.0.4" +          } +        }, +        "@npmcli/run-script": { +          "version": "1.8.4", +          "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.4.tgz", +          "integrity": "sha512-Yd9HXTtF1JGDXZw0+SOn+mWLYS0e7bHBHVC/2C8yqs4wUrs/k8rwBSinD7rfk+3WG/MFGRZKxjyoD34Pch2E/A==", +          "dev": true, +          "requires": { +            "@npmcli/node-gyp": "^1.0.2", +            "@npmcli/promise-spawn": "^1.3.2", +            "infer-owner": "^1.0.4", +            "node-gyp": "^7.1.0", +            "read-package-json-fast": "^2.0.1" +          }          },          "@snowpack/plugin-sass": {            "version": "1.4.0", @@ -372,13 +462,11 @@              "hash-sum": "^2.0.0"            }          }, -        "@szmarczak/http-timer": { +        "@tootallnate/once": {            "version": "1.1.2", -          "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", -          "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", -          "requires": { -            "defer-to-connect": "^1.0.1" -          } +          "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", +          "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", +          "dev": true          },          "@types/babel__generator": {            "version": "7.6.2", @@ -490,7 +578,8 @@          "@types/unist": {            "version": "2.0.3",            "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", -          "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" +          "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", +          "dev": true          },          "@types/yargs-parser": {            "version": "20.2.0", @@ -767,7 +856,8 @@          "abbrev": {            "version": "1.1.1",            "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", -          "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" +          "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", +          "dev": true          },          "acorn": {            "version": "7.4.1", @@ -779,6 +869,36 @@            "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",            "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng=="          }, +        "agent-base": { +          "version": "6.0.2", +          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", +          "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", +          "dev": true, +          "requires": { +            "debug": "4" +          } +        }, +        "agentkeepalive": { +          "version": "4.1.4", +          "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", +          "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", +          "dev": true, +          "requires": { +            "debug": "^4.1.0", +            "depd": "^1.1.2", +            "humanize-ms": "^1.2.1" +          } +        }, +        "aggregate-error": { +          "version": "3.1.0", +          "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", +          "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", +          "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", @@ -790,45 +910,16 @@              "uri-js": "^4.2.2"            }          }, -        "ansi-align": { -          "version": "3.0.0", -          "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", -          "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", -          "requires": { -            "string-width": "^3.0.0" -          }, -          "dependencies": { -            "emoji-regex": { -              "version": "7.0.3", -              "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", -              "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" -            }, -            "is-fullwidth-code-point": { -              "version": "2.0.0", -              "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", -              "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" -            }, -            "string-width": { -              "version": "3.1.0", -              "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", -              "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", -              "requires": { -                "emoji-regex": "^7.0.1", -                "is-fullwidth-code-point": "^2.0.0", -                "strip-ansi": "^5.1.0" -              } -            } -          } -        },          "ansi-colors": {            "version": "4.1.1",            "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",            "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="          },          "ansi-regex": { -          "version": "4.1.0", -          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", -          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" +          "version": "2.1.1", +          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", +          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", +          "dev": true          },          "ansi-styles": {            "version": "4.3.0", @@ -842,11 +933,28 @@            "version": "3.1.1",            "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",            "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", +          "dev": true,            "requires": {              "normalize-path": "^3.0.0",              "picomatch": "^2.0.4"            }          }, +        "aproba": { +          "version": "1.2.0", +          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", +          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", +          "dev": true +        }, +        "are-we-there-yet": { +          "version": "1.1.5", +          "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", +          "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", +          "dev": true, +          "requires": { +            "delegates": "^1.0.0", +            "readable-stream": "^2.0.6" +          } +        },          "argparse": {            "version": "1.0.10",            "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -860,15 +968,31 @@            "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",            "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="          }, +        "asn1": { +          "version": "0.2.4", +          "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", +          "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", +          "dev": true, +          "requires": { +            "safer-buffer": "~2.1.0" +          } +        }, +        "assert-plus": { +          "version": "1.0.0", +          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", +          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", +          "dev": true +        },          "astral-regex": {            "version": "2.0.0",            "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",            "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="          }, -        "astring": { -          "version": "1.7.0", -          "resolved": "https://registry.npmjs.org/astring/-/astring-1.7.0.tgz", -          "integrity": "sha512-43bervUZNvahG1v74a+POdGlAWcOUGSvP9fJVj6sywzM/SquwDkA+CdP938e8tWHUV77fStCiqzaQHAt0u6MVA==" +        "asynckit": { +          "version": "0.4.0", +          "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", +          "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", +          "dev": true          },          "autoprefixer": {            "version": "10.2.5", @@ -884,6 +1008,18 @@              "postcss-value-parser": "^4.1.0"            }          }, +        "aws-sign2": { +          "version": "0.7.0", +          "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", +          "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", +          "dev": true +        }, +        "aws4": { +          "version": "1.11.0", +          "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", +          "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", +          "dev": true +        },          "bail": {            "version": "1.0.5",            "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", @@ -895,6 +1031,15 @@            "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",            "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="          }, +        "bcrypt-pbkdf": { +          "version": "1.0.2", +          "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", +          "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", +          "dev": true, +          "requires": { +            "tweetnacl": "^0.14.3" +          } +        },          "big-integer": {            "version": "1.6.48",            "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", @@ -910,7 +1055,8 @@          "binary-extensions": {            "version": "2.2.0",            "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", -          "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" +          "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", +          "dev": true          },          "bluebird": {            "version": "3.7.2", @@ -924,21 +1070,6 @@            "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",            "dev": true          }, -        "boxen": { -          "version": "4.2.0", -          "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", -          "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", -          "requires": { -            "ansi-align": "^3.0.0", -            "camelcase": "^5.3.1", -            "chalk": "^3.0.0", -            "cli-boxes": "^2.2.0", -            "string-width": "^4.1.0", -            "term-size": "^2.1.0", -            "type-fest": "^0.8.1", -            "widest-line": "^3.1.0" -          } -        },          "bplist-parser": {            "version": "0.1.1",            "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", @@ -984,33 +1115,35 @@            "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",            "dev": true          }, -        "cacheable-request": { -          "version": "6.1.0", -          "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", -          "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", -          "requires": { -            "clone-response": "^1.0.2", -            "get-stream": "^5.1.0", -            "http-cache-semantics": "^4.0.0", -            "keyv": "^3.0.0", -            "lowercase-keys": "^2.0.0", -            "normalize-url": "^4.1.0", -            "responselike": "^1.0.2" -          }, -          "dependencies": { -            "get-stream": { -              "version": "5.2.0", -              "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", -              "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", -              "requires": { -                "pump": "^3.0.0" -              } -            }, -            "lowercase-keys": { -              "version": "2.0.0", -              "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", -              "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" -            } +        "builtins": { +          "version": "1.0.3", +          "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", +          "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", +          "dev": true +        }, +        "cacache": { +          "version": "15.0.6", +          "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", +          "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", +          "dev": true, +          "requires": { +            "@npmcli/move-file": "^1.0.1", +            "chownr": "^2.0.0", +            "fs-minipass": "^2.0.0", +            "glob": "^7.1.4", +            "infer-owner": "^1.0.4", +            "lru-cache": "^6.0.0", +            "minipass": "^3.1.1", +            "minipass-collect": "^1.0.2", +            "minipass-flush": "^1.0.5", +            "minipass-pipeline": "^1.2.2", +            "mkdirp": "^1.0.3", +            "p-map": "^4.0.0", +            "promise-inflight": "^1.0.1", +            "rimraf": "^3.0.2", +            "ssri": "^8.0.1", +            "tar": "^6.0.2", +            "unique-filename": "^1.1.1"            }          },          "callsites": { @@ -1018,45 +1151,17 @@            "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",            "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="          }, -        "camelcase": { -          "version": "5.3.1", -          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", -          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" -        },          "caniuse-lite": {            "version": "1.0.30001202",            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz",            "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==",            "dev": true          }, -        "ccount": { -          "version": "1.1.0", -          "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", -          "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" -        }, -        "chalk": { -          "version": "3.0.0", -          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", -          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", -          "requires": { -            "ansi-styles": "^4.1.0", -            "supports-color": "^7.1.0" -          }, -          "dependencies": { -            "has-flag": { -              "version": "4.0.0", -              "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -              "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" -            }, -            "supports-color": { -              "version": "7.2.0", -              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -              "requires": { -                "has-flag": "^4.0.0" -              } -            } -          } +        "caseless": { +          "version": "0.12.0", +          "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", +          "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", +          "dev": true          },          "character-entities": {            "version": "1.2.4", @@ -1064,15 +1169,11 @@            "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",            "dev": true          }, -        "character-entities-html4": { -          "version": "1.1.4", -          "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", -          "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" -        },          "character-entities-legacy": {            "version": "1.1.4",            "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", -          "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" +          "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", +          "dev": true          },          "character-reference-invalid": {            "version": "1.1.4", @@ -1112,6 +1213,7 @@            "version": "3.5.1",            "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",            "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", +          "dev": true,            "requires": {              "anymatch": "~3.1.1",              "braces": "~3.0.2", @@ -1123,15 +1225,17 @@              "readdirp": "~3.5.0"            }          }, -        "ci-info": { +        "chownr": {            "version": "2.0.0", -          "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", -          "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" +          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", +          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", +          "dev": true          }, -        "cli-boxes": { -          "version": "2.2.1", -          "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", -          "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" +        "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-spinners": {            "version": "2.6.0", @@ -1176,13 +1280,11 @@              }            }          }, -        "clone-response": { -          "version": "1.0.2", -          "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", -          "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", -          "requires": { -            "mimic-response": "^1.0.0" -          } +        "code-point-at": { +          "version": "1.1.0", +          "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", +          "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", +          "dev": true          },          "color-convert": {            "version": "2.0.1", @@ -1203,10 +1305,20 @@            "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",            "dev": true          }, +        "combined-stream": { +          "version": "1.0.8", +          "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", +          "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", +          "dev": true, +          "requires": { +            "delayed-stream": "~1.0.0" +          } +        },          "comma-separated-tokens": {            "version": "1.0.8",            "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", -          "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" +          "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", +          "dev": true          },          "commander": {            "version": "2.20.3", @@ -1269,18 +1381,11 @@              }            }          }, -        "configstore": { -          "version": "5.0.1", -          "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", -          "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", -          "requires": { -            "dot-prop": "^5.2.0", -            "graceful-fs": "^4.1.2", -            "make-dir": "^3.0.0", -            "unique-string": "^2.0.0", -            "write-file-atomic": "^3.0.0", -            "xdg-basedir": "^4.0.0" -          } +        "console-control-strings": { +          "version": "1.1.0", +          "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", +          "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", +          "dev": true          },          "consolidate": {            "version": "0.16.0", @@ -1291,24 +1396,11 @@              "bluebird": "^3.7.2"            }          }, -        "copyfiles": { -          "version": "2.4.1", -          "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", -          "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", -          "requires": { -            "glob": "^7.0.5", -            "minimatch": "^3.0.3", -            "mkdirp": "^1.0.4", -            "noms": "0.0.0", -            "through2": "^2.0.1", -            "untildify": "^4.0.0", -            "yargs": "^16.1.0" -          } -        },          "core-util-is": {            "version": "1.0.2",            "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", -          "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" +          "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", +          "dev": true          },          "cross-spawn": {            "version": "7.0.3", @@ -1320,11 +1412,6 @@              "which": "^2.0.1"            }          }, -        "crypto-random-string": { -          "version": "2.0.0", -          "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", -          "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" -        },          "css-select": {            "version": "3.1.2",            "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", @@ -1338,15 +1425,6 @@              "nth-check": "^2.0.0"            }          }, -        "css-tree": { -          "version": "1.1.2", -          "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", -          "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", -          "requires": { -            "mdn-data": "2.0.14", -            "source-map": "^0.6.1" -          } -        },          "css-what": {            "version": "4.0.0",            "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", @@ -1365,6 +1443,15 @@            "integrity": "sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==",            "dev": true          }, +        "dashdash": { +          "version": "1.14.1", +          "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", +          "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", +          "dev": true, +          "requires": { +            "assert-plus": "^1.0.0" +          } +        },          "date-fns": {            "version": "2.19.0",            "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz", @@ -1378,29 +1465,11 @@              "ms": "2.1.2"            }          }, -        "decompress-response": { -          "version": "3.3.0", -          "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", -          "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", -          "requires": { -            "mimic-response": "^1.0.0" -          } -        }, -        "deep-extend": { -          "version": "0.6.0", -          "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", -          "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" -        },          "deep-is": {            "version": "0.1.3",            "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",            "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="          }, -        "deepmerge": { -          "version": "4.2.2", -          "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", -          "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" -        },          "default-browser-id": {            "version": "2.0.0",            "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-2.0.0.tgz", @@ -1410,23 +1479,13 @@              "bplist-parser": "^0.1.0",              "pify": "^2.3.0",              "untildify": "^2.0.0" -          }, -          "dependencies": { -            "untildify": { -              "version": "2.1.0", -              "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", -              "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", -              "dev": true, -              "requires": { -                "os-homedir": "^1.0.0" -              } -            }            }          }, -        "defer-to-connect": { -          "version": "1.1.3", -          "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", -          "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" +        "delayed-stream": { +          "version": "1.0.0", +          "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", +          "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", +          "dev": true          },          "delegate": {            "version": "3.2.0", @@ -1435,6 +1494,18 @@            "dev": true,            "optional": true          }, +        "delegates": { +          "version": "1.0.0", +          "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", +          "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", +          "dev": true +        }, +        "depd": { +          "version": "1.1.2", +          "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", +          "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", +          "dev": true +        },          "dequal": {            "version": "2.0.2",            "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", @@ -1512,19 +1583,16 @@              "domhandler": "^4.0.0"            }          }, -        "dot-prop": { -          "version": "5.3.0", -          "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", -          "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", +        "ecc-jsbn": { +          "version": "0.1.2", +          "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", +          "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", +          "dev": true,            "requires": { -            "is-obj": "^2.0.0" +            "jsbn": "~0.1.0", +            "safer-buffer": "^2.1.0"            }          }, -        "duplexer3": { -          "version": "0.1.4", -          "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", -          "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" -        },          "electron-to-chromium": {            "version": "1.3.691",            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.691.tgz", @@ -1542,12 +1610,14 @@            "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",            "dev": true          }, -        "end-of-stream": { -          "version": "1.4.4", -          "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", -          "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", +        "encoding": { +          "version": "0.1.13", +          "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", +          "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", +          "dev": true, +          "optional": true,            "requires": { -            "once": "^1.4.0" +            "iconv-lite": "^0.6.2"            }          },          "enquirer": { @@ -1564,6 +1634,18 @@            "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",            "dev": true          }, +        "env-paths": { +          "version": "2.2.1", +          "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", +          "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", +          "dev": true +        }, +        "err-code": { +          "version": "2.0.3", +          "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", +          "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", +          "dev": true +        },          "error-ex": {            "version": "1.3.2",            "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1589,11 +1671,6 @@            "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",            "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="          }, -        "escape-goat": { -          "version": "2.1.1", -          "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", -          "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" -        },          "escape-string-regexp": {            "version": "1.0.5",            "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1862,6 +1939,12 @@              "is-extendable": "^0.1.0"            }          }, +        "extsprintf": { +          "version": "1.3.0", +          "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", +          "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", +          "dev": true +        },          "fast-deep-equal": {            "version": "3.1.3",            "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1872,6 +1955,12 @@            "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",            "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w=="          }, +        "fast-equals": { +          "version": "2.0.0", +          "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.0.tgz", +          "integrity": "sha512-u6RBd8cSiLLxAiC04wVsLV6GBFDOXcTCgWkd3wEoFXgidPSoAJENqC9m7Jb2vewSvjBIfXV6icKeh3GTKfIaXA==", +          "dev": true +        },          "fast-glob": {            "version": "3.2.5",            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", @@ -1949,12 +2038,38 @@            "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",            "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA=="          }, +        "forever-agent": { +          "version": "0.6.1", +          "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", +          "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", +          "dev": true +        }, +        "form-data": { +          "version": "2.3.3", +          "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", +          "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", +          "dev": true, +          "requires": { +            "asynckit": "^0.4.0", +            "combined-stream": "^1.0.6", +            "mime-types": "^2.1.12" +          } +        },          "fraction.js": {            "version": "4.0.13",            "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz",            "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==",            "dev": true          }, +        "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", @@ -1964,6 +2079,7 @@            "version": "2.3.2",            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", +          "dev": true,            "optional": true          },          "function-bind": { @@ -1976,6 +2092,44 @@            "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",            "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="          }, +        "gauge": { +          "version": "2.7.4", +          "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", +          "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", +          "dev": true, +          "requires": { +            "aproba": "^1.0.3", +            "console-control-strings": "^1.0.0", +            "has-unicode": "^2.0.0", +            "object-assign": "^4.1.0", +            "signal-exit": "^3.0.0", +            "string-width": "^1.0.1", +            "strip-ansi": "^3.0.1", +            "wide-align": "^1.1.0" +          }, +          "dependencies": { +            "is-fullwidth-code-point": { +              "version": "1.0.0", +              "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", +              "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", +              "dev": true, +              "requires": { +                "number-is-nan": "^1.0.0" +              } +            }, +            "string-width": { +              "version": "1.0.2", +              "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", +              "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", +              "dev": true, +              "requires": { +                "code-point-at": "^1.0.0", +                "is-fullwidth-code-point": "^1.0.0", +                "strip-ansi": "^3.0.0" +              } +            } +          } +        },          "generic-names": {            "version": "2.0.1",            "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", @@ -1990,12 +2144,13 @@            "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",            "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="          }, -        "get-stream": { -          "version": "4.1.0", -          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", +        "getpass": { +          "version": "0.1.7", +          "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", +          "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", +          "dev": true,            "requires": { -            "pump": "^3.0.0" +            "assert-plus": "^1.0.0"            }          },          "github-slugger": { @@ -2036,14 +2191,6 @@              "is-glob": "^4.0.1"            }          }, -        "global-dirs": { -          "version": "2.1.0", -          "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", -          "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", -          "requires": { -            "ini": "1.3.7" -          } -        },          "globals": {            "version": "13.6.0",            "resolved": "https://registry.npmjs.org/globals/-/globals-13.6.0.tgz", @@ -2094,28 +2241,11 @@              "delegate": "^3.1.2"            }          }, -        "got": { -          "version": "9.6.0", -          "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", -          "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", -          "requires": { -            "@sindresorhus/is": "^0.14.0", -            "@szmarczak/http-timer": "^1.1.2", -            "cacheable-request": "^6.0.0", -            "decompress-response": "^3.3.0", -            "duplexer3": "^0.1.4", -            "get-stream": "^4.1.0", -            "lowercase-keys": "^1.0.1", -            "mimic-response": "^1.0.1", -            "p-cancelable": "^1.0.0", -            "to-readable-stream": "^1.0.0", -            "url-parse-lax": "^3.0.0" -          } -        },          "graceful-fs": {            "version": "4.2.6",            "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", -          "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" +          "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", +          "dev": true          },          "gray-matter": {            "version": "4.0.2", @@ -2129,6 +2259,22 @@              "strip-bom-string": "^1.0.0"            }          }, +        "har-schema": { +          "version": "2.0.0", +          "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", +          "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", +          "dev": true +        }, +        "har-validator": { +          "version": "5.1.5", +          "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", +          "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", +          "dev": true, +          "requires": { +            "ajv": "^6.12.3", +            "har-schema": "^2.0.0" +          } +        },          "has": {            "version": "1.0.3",            "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2142,10 +2288,11 @@            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",            "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="          }, -        "has-yarn": { -          "version": "2.1.0", -          "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", -          "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" +        "has-unicode": { +          "version": "2.0.1", +          "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", +          "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", +          "dev": true          },          "hash-sum": {            "version": "2.0.0", @@ -2157,6 +2304,7 @@            "version": "9.0.1",            "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz",            "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", +          "dev": true,            "requires": {              "@types/unist": "^2.0.3",              "comma-separated-tokens": "^1.0.0", @@ -2181,39 +2329,12 @@              "web-namespaces": "^1.0.0"            }          }, -        "hast-util-is-element": { -          "version": "1.1.0", -          "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", -          "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==" -        },          "hast-util-parse-selector": {            "version": "2.2.5",            "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",            "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==",            "dev": true          }, -        "hast-util-to-html": { -          "version": "7.1.2", -          "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.2.tgz", -          "integrity": "sha512-pu73bvORzdF6XZgwl9eID/0RjBb/jtRfoGRRSykpR1+o9rCdiAHpgkSukZsQBRlIqMg6ylAcd7F0F7myJUb09Q==", -          "requires": { -            "ccount": "^1.0.0", -            "comma-separated-tokens": "^1.0.0", -            "hast-util-is-element": "^1.0.0", -            "hast-util-whitespace": "^1.0.0", -            "html-void-elements": "^1.0.0", -            "property-information": "^5.0.0", -            "space-separated-tokens": "^1.0.0", -            "stringify-entities": "^3.0.1", -            "unist-util-is": "^4.0.0", -            "xtend": "^4.0.0" -          } -        }, -        "hast-util-whitespace": { -          "version": "1.0.4", -          "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz", -          "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==" -        },          "hastscript": {            "version": "6.0.0",            "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", @@ -2232,11 +2353,6 @@            "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",            "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="          }, -        "html-void-elements": { -          "version": "1.0.5", -          "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", -          "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" -        },          "htmlparser2": {            "version": "6.0.1",            "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.1.tgz", @@ -2288,7 +2404,40 @@          "http-cache-semantics": {            "version": "4.1.0",            "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", -          "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" +          "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", +          "dev": true +        }, +        "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", +          "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", +          "dev": true, +          "requires": { +            "assert-plus": "^1.0.0", +            "jsprim": "^1.2.2", +            "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": "2.1.0", @@ -2296,6 +2445,25 @@            "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",            "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.6.2", +          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", +          "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", +          "dev": true, +          "optional": true, +          "requires": { +            "safer-buffer": ">= 2.1.2 < 3.0.0" +          } +        },          "icss-replace-symbols": {            "version": "1.1.0",            "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", @@ -2313,10 +2481,14 @@            "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",            "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="          }, -        "ignore-by-default": { -          "version": "1.0.1", -          "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", -          "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=" +        "ignore-walk": { +          "version": "3.0.3", +          "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", +          "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", +          "dev": true, +          "requires": { +            "minimatch": "^3.0.4" +          }          },          "import-fresh": {            "version": "3.3.0", @@ -2327,22 +2499,29 @@              "resolve-from": "^4.0.0"            }          }, -        "import-lazy": { -          "version": "2.1.0", -          "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", -          "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" -        },          "imurmurhash": {            "version": "0.1.4",            "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",            "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="          }, +        "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 +        },          "indexes-of": {            "version": "1.0.1",            "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",            "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",            "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", @@ -2357,15 +2536,17 @@            "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",            "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="          }, -        "ini": { -          "version": "1.3.7", -          "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", -          "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" -        },          "inline-style-parser": {            "version": "0.1.1",            "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", -          "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" +          "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", +          "dev": true +        }, +        "ip": { +          "version": "1.1.5", +          "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", +          "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", +          "dev": true          },          "is-alphabetical": {            "version": "1.0.4", @@ -2392,6 +2573,7 @@            "version": "2.1.0",            "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",            "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", +          "dev": true,            "requires": {              "binary-extensions": "^2.0.0"            } @@ -2402,14 +2584,6 @@            "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",            "dev": true          }, -        "is-ci": { -          "version": "2.0.0", -          "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", -          "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", -          "requires": { -            "ci-info": "^2.0.0" -          } -        },          "is-core-module": {            "version": "2.2.0",            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", @@ -2425,9 +2599,9 @@            "dev": true          },          "is-docker": { -          "version": "2.2.0", -          "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.0.tgz", -          "integrity": "sha512-K4GwB4i/HzhAzwP/XSlspzRdFTI9N8OxJOyOU7Y5Rz+p+WBokXWVWblaJeBkggthmoSV0OoGTH5thJNvplpkvQ==", +          "version": "2.2.1", +          "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", +          "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",            "dev": true          },          "is-extendable": { @@ -2460,35 +2634,17 @@            "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",            "dev": true          }, -        "is-installed-globally": { -          "version": "0.3.2", -          "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", -          "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", -          "requires": { -            "global-dirs": "^2.0.1", -            "is-path-inside": "^3.0.1" -          } -        }, -        "is-npm": { -          "version": "4.0.0", -          "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", -          "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==" +        "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-number": {            "version": "7.0.0",            "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",            "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="          }, -        "is-obj": { -          "version": "2.0.0", -          "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", -          "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" -        }, -        "is-path-inside": { -          "version": "3.0.3", -          "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", -          "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" -        },          "is-plain-obj": {            "version": "2.1.0",            "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -2504,7 +2660,8 @@          "is-typedarray": {            "version": "1.0.0",            "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", -          "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" +          "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", +          "dev": true          },          "is-wsl": {            "version": "2.2.0", @@ -2515,21 +2672,23 @@              "is-docker": "^2.0.0"            }          }, -        "is-yarn-global": { -          "version": "0.3.0", -          "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", -          "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" -        },          "isarray": { -          "version": "0.0.1", -          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", -          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" +          "version": "1.0.0", +          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", +          "dev": true          },          "isexe": {            "version": "2.0.0",            "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",            "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="          }, +        "isstream": { +          "version": "0.1.2", +          "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", +          "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", +          "dev": true +        },          "jest-worker": {            "version": "26.6.2",            "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -2572,22 +2731,29 @@              "esprima": "^4.0.0"            }          }, +        "jsbn": { +          "version": "0.1.1", +          "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", +          "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", +          "dev": true +        },          "jsesc": {            "version": "2.5.2",            "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",            "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",            "dev": true          }, -        "json-buffer": { -          "version": "3.0.0", -          "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", -          "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" -        },          "json-parse-even-better-errors": {            "version": "2.3.1",            "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",            "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="          }, +        "json-schema": { +          "version": "0.2.3", +          "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", +          "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", +          "dev": true +        },          "json-schema-traverse": {            "version": "0.4.1",            "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2598,6 +2764,12 @@            "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",            "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="          }, +        "json-stringify-safe": { +          "version": "5.0.1", +          "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", +          "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", +          "dev": true +        },          "json5": {            "version": "1.0.1",            "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -2607,12 +2779,22 @@              "minimist": "^1.2.0"            }          }, -        "keyv": { -          "version": "3.1.0", -          "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", -          "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", +        "jsonparse": { +          "version": "1.3.1", +          "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", +          "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", +          "dev": true +        }, +        "jsprim": { +          "version": "1.4.1", +          "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", +          "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", +          "dev": true,            "requires": { -            "json-buffer": "3.0.0" +            "assert-plus": "1.0.0", +            "extsprintf": "1.3.0", +            "json-schema": "0.2.3", +            "verror": "1.10.0"            }          },          "kind-of": { @@ -2626,14 +2808,6 @@            "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",            "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="          }, -        "latest-version": { -          "version": "5.1.0", -          "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", -          "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", -          "requires": { -            "package-json": "^6.3.0" -          } -        },          "levn": {            "version": "0.4.1",            "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2694,11 +2868,6 @@              "js-tokens": "^3.0.0 || ^4.0.0"            }          }, -        "lowercase-keys": { -          "version": "1.0.1", -          "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", -          "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" -        },          "lru-cache": {            "version": "6.0.0",            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2716,26 +2885,29 @@              "sourcemap-codec": "^1.4.4"            }          }, -        "make-dir": { -          "version": "3.1.0", -          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", -          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", +        "make-fetch-happen": { +          "version": "8.0.14", +          "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", +          "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", +          "dev": true,            "requires": { -            "semver": "^6.0.0" -          }, -          "dependencies": { -            "semver": { -              "version": "6.3.0", -              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", -              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" -            } +            "agentkeepalive": "^4.1.3", +            "cacache": "^15.0.5", +            "http-cache-semantics": "^4.1.0", +            "http-proxy-agent": "^4.0.1", +            "https-proxy-agent": "^5.0.0", +            "is-lambda": "^1.0.1", +            "lru-cache": "^6.0.0", +            "minipass": "^3.1.3", +            "minipass-collect": "^1.0.2", +            "minipass-fetch": "^1.3.2", +            "minipass-flush": "^1.0.5", +            "minipass-pipeline": "^1.2.4", +            "promise-retry": "^2.0.1", +            "socks-proxy-agent": "^5.0.0", +            "ssri": "^8.0.0"            }          }, -        "mdn-data": { -          "version": "2.0.14", -          "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", -          "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" -        },          "merge-source-map": {            "version": "1.1.0",            "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", @@ -2756,6 +2928,12 @@            "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",            "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="          }, +        "micro-memoize": { +          "version": "4.0.9", +          "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.0.9.tgz", +          "integrity": "sha512-Z2uZi/IUMGQDCXASdujXRqrXXEwSY0XffUrAOllhqzQI3wpUyZbiZTiE2JuYC0HSG2G7DbCS5jZmsEKEGZuemg==", +          "dev": true +        },          "micromark": {            "version": "2.11.4",            "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", @@ -2853,17 +3031,27 @@              "picomatch": "^2.0.5"            }          }, +        "mime-db": { +          "version": "1.47.0", +          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", +          "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", +          "dev": true +        }, +        "mime-types": { +          "version": "2.1.30", +          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", +          "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", +          "dev": true, +          "requires": { +            "mime-db": "1.47.0" +          } +        },          "mimic-fn": {            "version": "2.1.0",            "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",            "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",            "dev": true          }, -        "mimic-response": { -          "version": "1.0.1", -          "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", -          "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" -        },          "min-indent": {            "version": "1.0.1",            "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -2881,12 +3069,101 @@          "minimist": {            "version": "1.2.5",            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", -          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", +          "dev": true +        }, +        "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.3.3", +          "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.3.tgz", +          "integrity": "sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ==", +          "dev": true, +          "requires": { +            "encoding": "^0.1.12", +            "minipass": "^3.1.0", +            "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-json-stream": { +          "version": "1.0.1", +          "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", +          "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", +          "dev": true, +          "requires": { +            "jsonparse": "^1.3.1", +            "minipass": "^3.0.0" +          } +        }, +        "minipass-pipeline": { +          "version": "1.2.4", +          "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", +          "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", +          "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": "1.0.4",            "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", -          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" +          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", +          "dev": true +        }, +        "moize": { +          "version": "6.0.1", +          "resolved": "https://registry.npmjs.org/moize/-/moize-6.0.1.tgz", +          "integrity": "sha512-Bl91P98A6Xba35mn9XoAW9DuGoQb3HyoY888TxrvQbMr9+1v3dzBzi9n4Guh5Lne8ENdqbXjQ0a8mf7UUvZ9wg==", +          "dev": true, +          "requires": { +            "fast-equals": "2.0.0", +            "micro-memoize": "4.0.9" +          }          },          "mri": {            "version": "1.1.6", @@ -2915,52 +3192,46 @@            "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",            "dev": true          }, -        "node-releases": { -          "version": "1.1.71", -          "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", -          "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", -          "dev": true -        }, -        "nodemon": { -          "version": "2.0.7", -          "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz", -          "integrity": "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==", +        "node-gyp": { +          "version": "7.1.2", +          "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", +          "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", +          "dev": true,            "requires": { -            "chokidar": "^3.2.2", -            "debug": "^3.2.6", -            "ignore-by-default": "^1.0.1", -            "minimatch": "^3.0.4", -            "pstree.remy": "^1.1.7", -            "semver": "^5.7.1", -            "supports-color": "^5.5.0", -            "touch": "^3.1.0", -            "undefsafe": "^2.0.3", -            "update-notifier": "^4.1.0" +            "env-paths": "^2.2.0", +            "glob": "^7.1.4", +            "graceful-fs": "^4.2.3", +            "nopt": "^5.0.0", +            "npmlog": "^4.1.2", +            "request": "^2.88.2", +            "rimraf": "^3.0.2", +            "semver": "^7.3.2", +            "tar": "^6.0.2", +            "which": "^2.0.2"            },            "dependencies": { -            "debug": { -              "version": "3.2.7", -              "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", -              "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", +            "semver": { +              "version": "7.3.5", +              "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", +              "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", +              "dev": true,                "requires": { -                "ms": "^2.1.1" +                "lru-cache": "^6.0.0"                }              }            }          }, -        "noms": { -          "version": "0.0.0", -          "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", -          "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", -          "requires": { -            "inherits": "^2.0.1", -            "readable-stream": "~1.0.31" -          } +        "node-releases": { +          "version": "1.1.71", +          "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", +          "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", +          "dev": true          },          "nopt": { -          "version": "1.0.10", -          "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", -          "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", +          "version": "5.0.0", +          "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", +          "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", +          "dev": true,            "requires": {              "abbrev": "1"            } @@ -2979,7 +3250,8 @@          "normalize-path": {            "version": "3.0.0",            "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", -          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" +          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", +          "dev": true          },          "normalize-range": {            "version": "0.1.2", @@ -2987,10 +3259,122 @@            "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",            "dev": true          }, -        "normalize-url": { -          "version": "4.5.0", -          "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", -          "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" +        "npm-bundled": { +          "version": "1.1.1", +          "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", +          "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", +          "dev": true, +          "requires": { +            "npm-normalize-package-bin": "^1.0.1" +          } +        }, +        "npm-install-checks": { +          "version": "4.0.0", +          "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", +          "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", +          "dev": true, +          "requires": { +            "semver": "^7.1.1" +          }, +          "dependencies": { +            "semver": { +              "version": "7.3.5", +              "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", +              "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", +              "dev": true, +              "requires": { +                "lru-cache": "^6.0.0" +              } +            } +          } +        }, +        "npm-normalize-package-bin": { +          "version": "1.0.1", +          "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", +          "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", +          "dev": true +        }, +        "npm-package-arg": { +          "version": "8.1.2", +          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", +          "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", +          "dev": true, +          "requires": { +            "hosted-git-info": "^4.0.1", +            "semver": "^7.3.4", +            "validate-npm-package-name": "^3.0.0" +          }, +          "dependencies": { +            "hosted-git-info": { +              "version": "4.0.2", +              "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", +              "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", +              "dev": true, +              "requires": { +                "lru-cache": "^6.0.0" +              } +            }, +            "semver": { +              "version": "7.3.5", +              "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", +              "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", +              "dev": true, +              "requires": { +                "lru-cache": "^6.0.0" +              } +            } +          } +        }, +        "npm-packlist": { +          "version": "2.1.5", +          "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.5.tgz", +          "integrity": "sha512-KCfK3Vi2F+PH1klYauoQzg81GQ8/GGjQRKYY6tRnpQUPKTs/1gBZSRWtTEd7jGdSn1LZL7gpAmJT+BcS55k2XQ==", +          "dev": true, +          "requires": { +            "glob": "^7.1.6", +            "ignore-walk": "^3.0.3", +            "npm-bundled": "^1.1.1", +            "npm-normalize-package-bin": "^1.0.1" +          } +        }, +        "npm-pick-manifest": { +          "version": "6.1.1", +          "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", +          "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", +          "dev": true, +          "requires": { +            "npm-install-checks": "^4.0.0", +            "npm-normalize-package-bin": "^1.0.1", +            "npm-package-arg": "^8.1.2", +            "semver": "^7.3.4" +          }, +          "dependencies": { +            "semver": { +              "version": "7.3.5", +              "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", +              "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", +              "dev": true, +              "requires": { +                "lru-cache": "^6.0.0" +              } +            } +          } +        }, +        "npm-registry-fetch": { +          "version": "9.0.0", +          "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", +          "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", +          "dev": true, +          "requires": { +            "@npmcli/ci-detect": "^1.0.0", +            "lru-cache": "^6.0.0", +            "make-fetch-happen": "^8.0.9", +            "minipass": "^3.1.3", +            "minipass-fetch": "^1.3.0", +            "minipass-json-stream": "^1.0.1", +            "minizlib": "^2.0.0", +            "npm-package-arg": "^8.0.0" +          }          },          "npm-run-path": {            "version": "4.0.1", @@ -3001,6 +3385,18 @@              "path-key": "^3.0.0"            }          }, +        "npmlog": { +          "version": "4.1.2", +          "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", +          "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", +          "dev": true, +          "requires": { +            "are-we-there-yet": "~1.1.2", +            "console-control-strings": "~1.1.0", +            "gauge": "~2.7.3", +            "set-blocking": "~2.0.0" +          } +        },          "nth-check": {            "version": "2.0.0",            "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", @@ -3010,6 +3406,18 @@              "boolbase": "^1.0.0"            }          }, +        "number-is-nan": { +          "version": "1.0.1", +          "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", +          "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", +          "dev": true +        }, +        "oauth-sign": { +          "version": "0.9.0", +          "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", +          "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", +          "dev": true +        },          "object-assign": {            "version": "4.1.1",            "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3062,11 +3470,6 @@            "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",            "dev": true          }, -        "p-cancelable": { -          "version": "1.1.0", -          "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", -          "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" -        },          "p-limit": {            "version": "3.1.0",            "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -3085,22 +3488,40 @@              "p-limit": "^3.0.2"            }          }, -        "package-json": { -          "version": "6.5.0", -          "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", -          "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", +        "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": { -            "got": "^9.6.0", -            "registry-auth-token": "^4.0.0", -            "registry-url": "^5.0.0", -            "semver": "^6.2.0" -          }, -          "dependencies": { -            "semver": { -              "version": "6.3.0", -              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", -              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" -            } +            "aggregate-error": "^3.0.0" +          } +        }, +        "pacote": { +          "version": "11.3.1", +          "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.1.tgz", +          "integrity": "sha512-TymtwoAG12cczsJIrwI/euOQKtjrQHlD0k0oyt9QSmZGpqa+KdlxKdWR/YUjYizkixaVyztxt/Wsfo8bL3A6Fg==", +          "dev": true, +          "requires": { +            "@npmcli/git": "^2.0.1", +            "@npmcli/installed-package-contents": "^1.0.6", +            "@npmcli/promise-spawn": "^1.2.0", +            "@npmcli/run-script": "^1.8.2", +            "cacache": "^15.0.5", +            "chownr": "^2.0.0", +            "fs-minipass": "^2.1.0", +            "infer-owner": "^1.0.4", +            "minipass": "^3.1.3", +            "mkdirp": "^1.0.3", +            "npm-package-arg": "^8.0.1", +            "npm-packlist": "^2.1.4", +            "npm-pick-manifest": "^6.0.0", +            "npm-registry-fetch": "^9.0.0", +            "promise-retry": "^2.0.1", +            "read-package-json-fast": "^2.0.1", +            "rimraf": "^3.0.2", +            "ssri": "^8.0.1", +            "tar": "^6.1.0"            }          },          "parent-module": { @@ -3177,10 +3598,16 @@            "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",            "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="          }, +        "performance-now": { +          "version": "2.1.0", +          "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", +          "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", +          "dev": true +        },          "picomatch": { -          "version": "2.2.2", -          "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", -          "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" +          "version": "2.2.3", +          "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", +          "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg=="          },          "pify": {            "version": "2.3.0", @@ -3362,11 +3789,6 @@            "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",            "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="          }, -        "prepend-http": { -          "version": "2.0.0", -          "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", -          "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" -        },          "prettier": {            "version": "2.2.1",            "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", @@ -3398,47 +3820,55 @@          "process-nextick-args": {            "version": "2.0.1",            "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", -          "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" +          "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", +          "dev": true          },          "progress": {            "version": "2.0.3",            "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",            "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="          }, +        "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": "2.0.1", +          "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", +          "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", +          "dev": true, +          "requires": { +            "err-code": "^2.0.2", +            "retry": "^0.12.0" +          } +        },          "property-information": {            "version": "5.6.0",            "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",            "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", +          "dev": true,            "requires": {              "xtend": "^4.0.0"            }          }, -        "pstree.remy": { -          "version": "1.1.8", -          "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", -          "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" -        }, -        "pump": { -          "version": "3.0.0", -          "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", -          "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", -          "requires": { -            "end-of-stream": "^1.1.0", -            "once": "^1.3.1" -          } +        "psl": { +          "version": "1.8.0", +          "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", +          "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", +          "dev": true          },          "punycode": {            "version": "2.1.1",            "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",            "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="          }, -        "pupa": { -          "version": "2.1.1", -          "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", -          "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", -          "requires": { -            "escape-goat": "^2.0.0" -          } +        "qs": { +          "version": "6.5.2", +          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", +          "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", +          "dev": true          },          "queue-microtask": {            "version": "1.2.2", @@ -3454,17 +3884,6 @@              "safe-buffer": "^5.1.0"            }          }, -        "rc": { -          "version": "1.2.8", -          "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", -          "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", -          "requires": { -            "deep-extend": "^0.6.0", -            "ini": "~1.3.0", -            "minimist": "^1.2.0", -            "strip-json-comments": "~2.0.1" -          } -        },          "react": {            "version": "17.0.1",            "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", @@ -3486,6 +3905,16 @@              "scheduler": "^0.20.1"            }          }, +        "read-package-json-fast": { +          "version": "2.0.2", +          "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz", +          "integrity": "sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==", +          "dev": true, +          "requires": { +            "json-parse-even-better-errors": "^2.3.0", +            "npm-normalize-package-bin": "^1.0.1" +          } +        },          "read-pkg": {            "version": "5.2.0",            "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -3505,20 +3934,33 @@            }          },          "readable-stream": { -          "version": "1.0.34", -          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", -          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", +          "version": "2.3.7", +          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +          "dev": true,            "requires": {              "core-util-is": "~1.0.0", -            "inherits": "~2.0.1", -            "isarray": "0.0.1", -            "string_decoder": "~0.10.x" +            "inherits": "~2.0.3", +            "isarray": "~1.0.0", +            "process-nextick-args": "~2.0.0", +            "safe-buffer": "~5.1.1", +            "string_decoder": "~1.1.1", +            "util-deprecate": "~1.0.1" +          }, +          "dependencies": { +            "safe-buffer": { +              "version": "5.1.2", +              "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", +              "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", +              "dev": true +            }            }          },          "readdirp": {            "version": "3.5.0",            "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",            "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", +          "dev": true,            "requires": {              "picomatch": "^2.2.1"            } @@ -3528,22 +3970,6 @@            "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",            "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q=="          }, -        "registry-auth-token": { -          "version": "4.2.1", -          "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", -          "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", -          "requires": { -            "rc": "^1.2.8" -          } -        }, -        "registry-url": { -          "version": "5.1.0", -          "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", -          "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", -          "requires": { -            "rc": "^1.2.8" -          } -        },          "rehype-parse": {            "version": "7.0.1",            "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-7.0.1.tgz", @@ -3554,6 +3980,34 @@              "parse5": "^6.0.0"            }          }, +        "request": { +          "version": "2.88.2", +          "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", +          "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", +          "dev": true, +          "requires": { +            "aws-sign2": "~0.7.0", +            "aws4": "^1.8.0", +            "caseless": "~0.12.0", +            "combined-stream": "~1.0.6", +            "extend": "~3.0.2", +            "forever-agent": "~0.6.1", +            "form-data": "~2.3.2", +            "har-validator": "~5.1.3", +            "http-signature": "~1.2.0", +            "is-typedarray": "~1.0.0", +            "isstream": "~0.1.2", +            "json-stringify-safe": "~5.0.1", +            "mime-types": "~2.1.19", +            "oauth-sign": "~0.9.0", +            "performance-now": "^2.1.0", +            "qs": "~6.5.2", +            "safe-buffer": "^5.1.2", +            "tough-cookie": "~2.5.0", +            "tunnel-agent": "^0.6.0", +            "uuid": "^3.3.2" +          } +        },          "require-directory": {            "version": "2.1.1",            "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3584,13 +4038,11 @@            "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",            "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="          }, -        "responselike": { -          "version": "1.0.2", -          "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", -          "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", -          "requires": { -            "lowercase-keys": "^1.0.0" -          } +        "retry": { +          "version": "0.12.0", +          "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", +          "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", +          "dev": true          },          "reusify": {            "version": "1.0.4", @@ -3683,6 +4135,12 @@            "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",            "dev": true          }, +        "safer-buffer": { +          "version": "2.1.2", +          "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", +          "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", +          "dev": true +        },          "sass": {            "version": "1.32.8",            "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", @@ -3724,21 +4182,6 @@            "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",            "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="          }, -        "semver-diff": { -          "version": "3.1.1", -          "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", -          "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", -          "requires": { -            "semver": "^6.3.0" -          }, -          "dependencies": { -            "semver": { -              "version": "6.3.0", -              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", -              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" -            } -          } -        },          "serialize-javascript": {            "version": "4.0.0",            "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", @@ -3748,6 +4191,12 @@              "randombytes": "^2.1.0"            }          }, +        "set-blocking": { +          "version": "2.0.0", +          "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", +          "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", +          "dev": true +        },          "shebang-command": {            "version": "2.0.0",            "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3761,15 +4210,11 @@            "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",            "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="          }, -        "shorthash": { -          "version": "0.0.2", -          "resolved": "https://registry.npmjs.org/shorthash/-/shorthash-0.0.2.tgz", -          "integrity": "sha1-WbJo7sveWQOLMNogK8+93rLEpOs=" -        },          "signal-exit": {            "version": "3.0.3",            "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", -          "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" +          "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", +          "dev": true          },          "slash": {            "version": "3.0.0", @@ -3786,10 +4231,16 @@              "is-fullwidth-code-point": "^3.0.0"            }          }, +        "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 +        },          "snowpack": { -          "version": "3.2.2", -          "resolved": "https://registry.npmjs.org/snowpack/-/snowpack-3.2.2.tgz", -          "integrity": "sha512-lt2FEFpvrWSBhFPlQxDr2hG7hnyucLEh7QSJqUUcAljrt8UoWJjTZlvZ4shGiJLkNjxMgGrJKj37y08/9OvXMw==", +          "version": "3.3.3", +          "resolved": "https://registry.npmjs.org/snowpack/-/snowpack-3.3.3.tgz", +          "integrity": "sha512-ASPyveGfzAbhyp1k5XmLtZoS0J6PpY8jArGm6JLM8ztuB4AWA2z1Qg/QiTOIguOhZN0QKKUe6slkYfSWteIzFA==",            "dev": true,            "requires": {              "cli-spinners": "^2.5.0", @@ -3798,9 +4249,10 @@              "fdir": "^5.0.0",              "fsevents": "^2.2.0",              "open": "^7.0.4", +            "pacote": "^11.3.1",              "picomatch": "^2.2.2",              "resolve": "^1.20.0", -            "rollup": "^2.34.0" +            "rollup": "~2.37.1"            },            "dependencies": {              "esbuild": { @@ -3808,13 +4260,53 @@                "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.9.7.tgz",                "integrity": "sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==",                "dev": true +            }, +            "rollup": { +              "version": "2.37.1", +              "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.37.1.tgz", +              "integrity": "sha512-V3ojEeyGeSdrMSuhP3diBb06P+qV4gKQeanbDv+Qh/BZbhdZ7kHV0xAt8Yjk4GFshq/WjO7R4c7DFM20AwTFVQ==", +              "dev": true, +              "requires": { +                "fsevents": "~2.1.2" +              }, +              "dependencies": { +                "fsevents": { +                  "version": "2.1.3", +                  "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", +                  "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", +                  "dev": true, +                  "optional": true +                } +              }              }            }          }, +        "socks": { +          "version": "2.6.1", +          "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", +          "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", +          "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" +          } +        },          "source-map": {            "version": "0.6.1",            "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", -          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" +          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", +          "dev": true          },          "source-map-support": {            "version": "0.5.19", @@ -3835,7 +4327,8 @@          "space-separated-tokens": {            "version": "1.1.5",            "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", -          "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" +          "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", +          "dev": true          },          "spawn-command": {            "version": "0.0.2-1", @@ -3875,6 +4368,32 @@            "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",            "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="          }, +        "sshpk": { +          "version": "1.16.1", +          "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", +          "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", +          "dev": true, +          "requires": { +            "asn1": "~0.2.3", +            "assert-plus": "^1.0.0", +            "bcrypt-pbkdf": "^1.0.0", +            "dashdash": "^1.12.0", +            "ecc-jsbn": "~0.1.1", +            "getpass": "^0.1.1", +            "jsbn": "~0.1.0", +            "safer-buffer": "^2.0.2", +            "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" +          } +        },          "string-hash": {            "version": "1.1.3",            "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", @@ -3907,26 +4426,29 @@            }          },          "string_decoder": { -          "version": "0.10.31", -          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", -          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" -        }, -        "stringify-entities": { -          "version": "3.1.0", -          "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", -          "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", +          "version": "1.1.1", +          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +          "dev": true,            "requires": { -            "character-entities-html4": "^1.0.0", -            "character-entities-legacy": "^1.0.0", -            "xtend": "^4.0.0" +            "safe-buffer": "~5.1.0" +          }, +          "dependencies": { +            "safe-buffer": { +              "version": "5.1.2", +              "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", +              "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", +              "dev": true +            }            }          },          "strip-ansi": { -          "version": "5.2.0", -          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", -          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", +          "version": "3.0.1", +          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", +          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", +          "dev": true,            "requires": { -            "ansi-regex": "^4.1.0" +            "ansi-regex": "^2.0.0"            }          },          "strip-bom-string": { @@ -3950,15 +4472,11 @@              "min-indent": "^1.0.0"            }          }, -        "strip-json-comments": { -          "version": "2.0.1", -          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", -          "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" -        },          "style-to-object": {            "version": "0.3.0",            "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",            "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", +          "dev": true,            "requires": {              "inline-style-parser": "0.1.1"            } @@ -4024,10 +4542,19 @@              }            }          }, -        "term-size": { -          "version": "2.2.1", -          "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", -          "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" +        "tar": { +          "version": "6.1.0", +          "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", +          "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", +          "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" +          }          },          "terser": {            "version": "5.6.1", @@ -4053,49 +4580,6 @@            "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",            "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="          }, -        "through2": { -          "version": "2.0.5", -          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", -          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", -          "requires": { -            "readable-stream": "~2.3.6", -            "xtend": "~4.0.1" -          }, -          "dependencies": { -            "isarray": { -              "version": "1.0.0", -              "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", -              "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" -            }, -            "readable-stream": { -              "version": "2.3.7", -              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", -              "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", -              "requires": { -                "core-util-is": "~1.0.0", -                "inherits": "~2.0.3", -                "isarray": "~1.0.0", -                "process-nextick-args": "~2.0.0", -                "safe-buffer": "~5.1.1", -                "string_decoder": "~1.1.1", -                "util-deprecate": "~1.0.1" -              } -            }, -            "safe-buffer": { -              "version": "5.1.2", -              "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", -              "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" -            }, -            "string_decoder": { -              "version": "1.1.1", -              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", -              "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", -              "requires": { -                "safe-buffer": "~5.1.0" -              } -            } -          } -        },          "tiny-emitter": {            "version": "2.1.0",            "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", @@ -4118,11 +4602,6 @@            "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",            "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="          }, -        "to-readable-stream": { -          "version": "1.0.0", -          "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", -          "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" -        },          "to-regex-range": {            "version": "5.0.1",            "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4136,12 +4615,14 @@            "resolved": "https://registry.npmjs.org/totalist/-/totalist-2.0.0.tgz",            "integrity": "sha512-+Y17F0YzxfACxTyjfhnJQEe7afPA0GSpYlFkl2VFMxYP7jshQf9gXV7cH47EfToBumFThfKBvfAcoUn6fdNeRQ=="          }, -        "touch": { -          "version": "3.1.0", -          "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", -          "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", +        "tough-cookie": { +          "version": "2.5.0", +          "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", +          "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", +          "dev": true,            "requires": { -            "nopt": "~1.0.10" +            "psl": "^1.1.28", +            "punycode": "^2.1.1"            }          },          "tree-kill": { @@ -4168,6 +4649,21 @@              "tslib": "^1.8.1"            }          }, +        "tunnel-agent": { +          "version": "0.6.0", +          "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", +          "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", +          "dev": true, +          "requires": { +            "safe-buffer": "^5.0.1" +          } +        }, +        "tweetnacl": { +          "version": "0.14.5", +          "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", +          "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", +          "dev": true +        },          "type-check": {            "version": "0.4.0",            "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4181,42 +4677,11 @@            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",            "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="          }, -        "typedarray-to-buffer": { -          "version": "3.1.5", -          "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", -          "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", -          "requires": { -            "is-typedarray": "^1.0.0" -          } -        },          "typescript": {            "version": "4.2.3",            "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",            "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw=="          }, -        "undefsafe": { -          "version": "2.0.3", -          "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", -          "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", -          "requires": { -            "debug": "^2.2.0" -          }, -          "dependencies": { -            "debug": { -              "version": "2.6.9", -              "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", -              "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -              "requires": { -                "ms": "2.0.0" -              } -            }, -            "ms": { -              "version": "2.0.0", -              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", -              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" -            } -          } -        },          "unified": {            "version": "9.2.1",            "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz", @@ -4237,18 +4702,29 @@            "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",            "dev": true          }, -        "unique-string": { -          "version": "2.0.0", -          "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", -          "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", +        "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": { -            "crypto-random-string": "^2.0.0" +            "imurmurhash": "^0.1.4"            }          },          "unist-util-is": {            "version": "4.1.0",            "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", -          "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" +          "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", +          "dev": true          },          "unist-util-stringify-position": {            "version": "2.0.3", @@ -4260,28 +4736,12 @@            }          },          "untildify": { -          "version": "4.0.0", -          "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", -          "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" -        }, -        "update-notifier": { -          "version": "4.1.3", -          "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", -          "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", -          "requires": { -            "boxen": "^4.2.0", -            "chalk": "^3.0.0", -            "configstore": "^5.0.1", -            "has-yarn": "^2.1.0", -            "import-lazy": "^2.1.0", -            "is-ci": "^2.0.0", -            "is-installed-globally": "^0.3.1", -            "is-npm": "^4.0.0", -            "is-yarn-global": "^0.3.0", -            "latest-version": "^5.0.0", -            "pupa": "^2.0.1", -            "semver-diff": "^3.1.1", -            "xdg-basedir": "^4.0.0" +          "version": "2.1.0", +          "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", +          "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", +          "dev": true, +          "requires": { +            "os-homedir": "^1.0.0"            }          },          "uri-js": { @@ -4292,18 +4752,17 @@              "punycode": "^2.1.0"            }          }, -        "url-parse-lax": { -          "version": "3.0.0", -          "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", -          "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", -          "requires": { -            "prepend-http": "^2.0.0" -          } -        },          "util-deprecate": {            "version": "1.0.2",            "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", -          "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" +          "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", +          "dev": true +        }, +        "uuid": { +          "version": "3.4.0", +          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", +          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", +          "dev": true          },          "uvu": {            "version": "0.5.1", @@ -4331,6 +4790,26 @@              "spdx-expression-parse": "^3.0.0"            }          }, +        "validate-npm-package-name": { +          "version": "3.0.0", +          "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", +          "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", +          "dev": true, +          "requires": { +            "builtins": "^1.0.3" +          } +        }, +        "verror": { +          "version": "1.10.0", +          "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", +          "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", +          "dev": true, +          "requires": { +            "assert-plus": "^1.0.0", +            "core-util-is": "1.0.2", +            "extsprintf": "^1.2.0" +          } +        },          "vfile": {            "version": "4.2.1",            "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", @@ -4373,7 +4852,8 @@          "web-namespaces": {            "version": "1.1.4",            "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", -          "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" +          "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", +          "dev": true          },          "which": {            "version": "2.0.2", @@ -4383,12 +4863,46 @@              "isexe": "^2.0.0"            }          }, -        "widest-line": { -          "version": "3.1.0", -          "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", -          "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", +        "wide-align": { +          "version": "1.1.3", +          "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", +          "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", +          "dev": true,            "requires": { -            "string-width": "^4.0.0" +            "string-width": "^1.0.2 || 2" +          }, +          "dependencies": { +            "ansi-regex": { +              "version": "3.0.0", +              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", +              "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", +              "dev": true +            }, +            "is-fullwidth-code-point": { +              "version": "2.0.0", +              "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", +              "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", +              "dev": true +            }, +            "string-width": { +              "version": "2.1.1", +              "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", +              "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", +              "dev": true, +              "requires": { +                "is-fullwidth-code-point": "^2.0.0", +                "strip-ansi": "^4.0.0" +              } +            }, +            "strip-ansi": { +              "version": "4.0.0", +              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", +              "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", +              "dev": true, +              "requires": { +                "ansi-regex": "^3.0.0" +              } +            }            }          },          "word-wrap": { @@ -4426,26 +4940,11 @@            "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",            "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="          }, -        "write-file-atomic": { -          "version": "3.0.3", -          "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", -          "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", -          "requires": { -            "imurmurhash": "^0.1.4", -            "is-typedarray": "^1.0.0", -            "signal-exit": "^3.0.2", -            "typedarray-to-buffer": "^3.1.5" -          } -        }, -        "xdg-basedir": { -          "version": "4.0.0", -          "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", -          "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" -        },          "xtend": {            "version": "4.0.2",            "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", -          "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" +          "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", +          "dev": true          },          "y18n": {            "version": "5.0.5", diff --git a/examples/kitchen-sink/package.json b/examples/kitchen-sink/package.json index aad33b354..772ee025e 100644 --- a/examples/kitchen-sink/package.json +++ b/examples/kitchen-sink/package.json @@ -6,7 +6,6 @@      "start": "nodemon -w ../../lib -x 'astro dev .'",      "build": "astro build"    }, -  "dependencies": {},    "devDependencies": {      "astro": "file:../../",      "nodemon": "^2.0.7" diff --git a/snowpack-plugin.cjs b/snowpack-plugin.cjs index 8a3faed63..572dcec5c 100644 --- a/snowpack-plugin.cjs +++ b/snowpack-plugin.cjs @@ -3,7 +3,7 @@ const { readFile } = require('fs').promises;  // Snowpack plugins must be CommonJS :(  const transformPromise = import('./lib/compiler/index.js'); -module.exports = function (snowpackConfig, { resolve, extensions, astroConfig } = {}) { +module.exports = function (snowpackConfig, { resolvePackageUrl, extensions, astroConfig } = {}) {    return {      name: 'snowpack-astro',      knownEntrypoints: [], @@ -17,7 +17,7 @@ module.exports = function (snowpackConfig, { resolve, extensions, astroConfig }        const contents = await readFile(filePath, 'utf-8');        const compileOptions = {          astroConfig, -        resolve, +        resolvePackageUrl,          extensions,        };        const result = await compileComponent(contents, { compileOptions, filename: filePath, projectRoot }); diff --git a/src/@types/compiler.ts b/src/@types/compiler.ts index 2f104b5c5..7da0afaf2 100644 --- a/src/@types/compiler.ts +++ b/src/@types/compiler.ts @@ -3,7 +3,7 @@ import type { AstroConfig, RuntimeMode, ValidExtensionPlugins } from './astro';  export interface CompileOptions {    logging: LogOptions; -  resolve: (p: string) => Promise<string>; +  resolvePackageUrl: (p: string) => Promise<string>;    astroConfig: AstroConfig;    extensions?: Record<string, ValidExtensionPlugins>;    mode: RuntimeMode; diff --git a/src/build.ts b/src/build.ts index a66d49ffa..93314da7a 100644 --- a/src/build.ts +++ b/src/build.ts @@ -155,11 +155,11 @@ export async function build(astroConfig: AstroConfig): Promise<0 | 1> {    const runtime = await createRuntime(astroConfig, { mode, logging: runtimeLogging });    const { runtimeConfig } = runtime;    const { backendSnowpack: snowpack } = runtimeConfig; -  const resolve = (pkgName: string) => snowpack.getUrlForPackage(pkgName); +  const resolvePackageUrl = (pkgName: string) => snowpack.getUrlForPackage(pkgName);    const imports = new Set<string>();    const statics = new Set<string>(); -  const collectImportsOptions = { astroConfig, logging, resolve, mode }; +  const collectImportsOptions = { astroConfig, logging, resolvePackageUrl, mode };    const pages = await allPages(pageRoot); diff --git a/src/build/bundle.ts b/src/build/bundle.ts index 0a5961986..681bea3b2 100644 --- a/src/build/bundle.ts +++ b/src/build/bundle.ts @@ -23,21 +23,21 @@ const { readFile } = fsPromises;  type DynamicImportMap = Map<'vue' | 'react' | 'react-dom' | 'preact', string>;  /** Add framework runtimes when needed */ -async function acquireDynamicComponentImports(plugins: Set<ValidExtensionPlugins>, resolve: (s: string) => Promise<string>): Promise<DynamicImportMap> { +async function acquireDynamicComponentImports(plugins: Set<ValidExtensionPlugins>, resolvePackageUrl: (s: string) => Promise<string>): Promise<DynamicImportMap> {    const importMap: DynamicImportMap = new Map();    for (let plugin of plugins) {      switch (plugin) {        case 'vue': { -        importMap.set('vue', await resolve('vue')); +        importMap.set('vue', await resolvePackageUrl('vue'));          break;        }        case 'react': { -        importMap.set('react', await resolve('react')); -        importMap.set('react-dom', await resolve('react-dom')); +        importMap.set('react', await resolvePackageUrl('react')); +        importMap.set('react-dom', await resolvePackageUrl('react-dom'));          break;        }        case 'preact': { -        importMap.set('preact', await resolve('preact')); +        importMap.set('preact', await resolvePackageUrl('preact'));          break;        }      } @@ -64,13 +64,13 @@ const defaultExtensions: Readonly<Record<string, ValidExtensionPlugins>> = {  interface CollectDynamic {    astroConfig: AstroConfig; -  resolve: (s: string) => Promise<string>; +  resolvePackageUrl: (s: string) => Promise<string>;    logging: LogOptions;    mode: RuntimeMode;  }  /** Gather necessary framework runtimes for dynamic components */ -export async function collectDynamicImports(filename: URL, { astroConfig, logging, resolve, mode }: CollectDynamic) { +export async function collectDynamicImports(filename: URL, { astroConfig, logging, resolvePackageUrl, mode }: CollectDynamic) {    const imports = new Set<string>();    // Only astro files @@ -98,7 +98,7 @@ export async function collectDynamicImports(filename: URL, { astroConfig, loggin      fileID: '',      compileOptions: {        astroConfig, -      resolve, +      resolvePackageUrl,        logging,        mode,      }, @@ -135,7 +135,7 @@ export async function collectDynamicImports(filename: URL, { astroConfig, loggin      };    } -  const dynamic = await acquireDynamicComponentImports(plugins, resolve); +  const dynamic = await acquireDynamicComponentImports(plugins, resolvePackageUrl);    /** Add dynamic component runtimes to imports */    function appendImports(rawName: string, importUrl: URL) { diff --git a/src/compiler/codegen/index.ts b/src/compiler/codegen/index.ts index d3e8a45dd..8d968e1ea 100644 --- a/src/compiler/codegen/index.ts +++ b/src/compiler/codegen/index.ts @@ -258,21 +258,21 @@ function compileExpressionSafe(raw: string): string {  }  /** Build dependency map of dynamic component runtime frameworks */ -async function acquireDynamicComponentImports(plugins: Set<ValidExtensionPlugins>, resolve: (s: string) => Promise<string>): Promise<DynamicImportMap> { +async function acquireDynamicComponentImports(plugins: Set<ValidExtensionPlugins>, resolvePackageUrl: (s: string) => Promise<string>): Promise<DynamicImportMap> {    const importMap: DynamicImportMap = new Map();    for (let plugin of plugins) {      switch (plugin) {        case 'vue': { -        importMap.set('vue', await resolve('vue')); +        importMap.set('vue', await resolvePackageUrl('vue'));          break;        }        case 'react': { -        importMap.set('react', await resolve('react')); -        importMap.set('react-dom', await resolve('react-dom')); +        importMap.set('react', await resolvePackageUrl('react')); +        importMap.set('react-dom', await resolvePackageUrl('react-dom'));          break;        }        case 'preact': { -        importMap.set('preact', await resolve('preact')); +        importMap.set('preact', await resolvePackageUrl('preact'));          break;        }      } @@ -643,7 +643,7 @@ export async function codegen(ast: Ast, { compileOptions, filename }: CodeGenOpt    };    const { script, componentPlugins, createCollection } = compileModule(ast.module, state, compileOptions); -  state.dynamicImports = await acquireDynamicComponentImports(componentPlugins, compileOptions.resolve); +  state.dynamicImports = await acquireDynamicComponentImports(componentPlugins, compileOptions.resolvePackageUrl);    compileCss(ast.css, state); diff --git a/src/runtime.ts b/src/runtime.ts index 99f4d9682..40fa1dce2 100644 --- a/src/runtime.ts +++ b/src/runtime.ts @@ -230,20 +230,27 @@ interface RuntimeOptions {  }  /** Create a new Snowpack instance to power Astro */ -async function createSnowpack(astroConfig: AstroConfig, env: Record<string, any>, mode: RuntimeMode) { +interface CreateSnowpackOptions { +  env: Record<string, any>; +  mode: RuntimeMode; +  resolvePackageUrl?: (pkgName: string) => Promise<string>; +} + +async function createSnowpack(astroConfig: AstroConfig, options: CreateSnowpackOptions) {    const { projectRoot, astroRoot, extensions } = astroConfig; +  const { env, mode, resolvePackageUrl } = options;    const internalPath = new URL('./frontend/', import.meta.url);    let snowpack: SnowpackDevServer;    const astroPlugOptions: { -    resolve?: (s: string) => Promise<string>; +    resolvePackageUrl?: (s: string) => Promise<string>;      extensions?: Record<string, string>;      astroConfig: AstroConfig;    } = {      astroConfig,      extensions, -    resolve: async (pkgName: string) => snowpack.getUrlForPackage(pkgName), +    resolvePackageUrl,    };    const mountOptions = { @@ -258,7 +265,7 @@ async function createSnowpack(astroConfig: AstroConfig, env: Record<string, any>    const snowpackConfig = await loadConfiguration({      root: fileURLToPath(projectRoot),      mount: mountOptions, -    mode: mode, +    mode,      plugins: [        [fileURLToPath(new URL('../snowpack-plugin.cjs', import.meta.url)), astroPlugOptions],        require.resolve('@snowpack/plugin-sass'), @@ -293,20 +300,27 @@ async function createSnowpack(astroConfig: AstroConfig, env: Record<string, any>  /** Core Astro runtime */  export async function createRuntime(astroConfig: AstroConfig, { mode, logging }: RuntimeOptions): Promise<AstroRuntime> { +  const resolvePackageUrl = async (pkgName: string) => frontendSnowpack.getUrlForPackage(pkgName); +    const { snowpack: backendSnowpack, snowpackRuntime: backendSnowpackRuntime, snowpackConfig: backendSnowpackConfig } = await createSnowpack(      astroConfig,      { -      astro: true, -    }, -    mode +      env: { +        astro: true +      }, +      mode, +      resolvePackageUrl +    }    );    const { snowpack: frontendSnowpack, snowpackRuntime: frontendSnowpackRuntime, snowpackConfig: frontendSnowpackConfig } = await createSnowpack(      astroConfig,      { -      astro: false, -    }, -    mode +      env: { +        astro: false +      }, +      mode +    }    );    const runtimeConfig: RuntimeConfig = { diff --git a/test/astro-dynamic.test.js b/test/astro-dynamic.test.js new file mode 100644 index 000000000..41235b6ce --- /dev/null +++ b/test/astro-dynamic.test.js @@ -0,0 +1,30 @@ +import { suite } from 'uvu'; +import * as assert from 'uvu/assert'; +import { doc } from './test-utils.js'; +import { setup } from './helpers.js'; + +const DynamicComponents = suite('Dynamic components tests'); + +setup(DynamicComponents, './fixtures/astro-dynamic'); + +DynamicComponents('Loads client-only packages', async ({ runtime }) => { +  let result = await runtime.load('/'); + +  assert.equal(result.statusCode, 200); + +  // Grab the react-dom import +  const exp = /import\("(.+?)"\)/g; +  let match, reactDomURL; +  while(match = exp.exec(result.contents)) { +    if(match[1].includes('react-dom')) { +      reactDomURL = match[1]; +    } +  } + +  assert.ok(reactDomURL, 'React dom is on the page'); +   +  result = await runtime.load(reactDomURL); +  assert.equal(result.statusCode, 200, 'Can load react-dom'); +}); + +DynamicComponents.run(); diff --git a/test/fixtures/astro-dynamic/astro/components/Counter.jsx b/test/fixtures/astro-dynamic/astro/components/Counter.jsx new file mode 100644 index 000000000..31472c3ac --- /dev/null +++ b/test/fixtures/astro-dynamic/astro/components/Counter.jsx @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function() { +  return ( +    <div> +      <button type="button">Increment -</button> +    </div> +  ) +}
\ No newline at end of file diff --git a/test/fixtures/astro-dynamic/astro/pages/index.astro b/test/fixtures/astro-dynamic/astro/pages/index.astro new file mode 100644 index 000000000..12932901f --- /dev/null +++ b/test/fixtures/astro-dynamic/astro/pages/index.astro @@ -0,0 +1,9 @@ +--- +import Counter from '../components/Counter.jsx'; +--- +<html> +<head><title>Dynamic pages</title></head> +<body> +  <Counter:load /> +</body> +</html>
\ No newline at end of file | 
