From f5b84fb13e5e268bd570a2fa6fe326bc865c6f1a Mon Sep 17 00:00:00 2001 From: Jan Hovancik Date: Sat, 22 Jan 2022 10:55:23 +0100 Subject: [PATCH] Adds initial functionality - basic funcionality of Mini and Regular breaks - ability to Start, Resume, Pause and Stop breaks - simple Preferences (intervals and durations for Mini and Regular breaks) - debug information --- .eslintrc.cjs | 8 +- .github/FUNDING.yml | 8 + .github/ISSUE_TEMPLATE/bug_report.yml | 132 + .github/ISSUE_TEMPLATE/feature_request.yml | 86 + .github/PULL_REQUEST_TEMPLATE.md | 50 + .github/workflows/tests.yml | 25 + .husky/pre-commit | 4 + CHANGELOG.md | 16 + CODE_OF_CONDUCT.md | 46 + LICENSE | 23 + README.md | 48 +- package-lock.json | 3879 +++++++++++++++++--- package.json | 39 +- src/app.html | 2 +- src/app.scss | 9 + src/components/NotificationRequest.svelte | 41 + src/routes/__layout.svelte | 5 + src/routes/index.svelte | 294 +- src/utils/ideas.js | 221 ++ src/utils/shuffled.js | 17 + src/variables.scss | 2 + static/favicon.ico | Bin 0 -> 117562 bytes static/favicon.png | Bin 1571 -> 0 bytes static/stretchly_128x128.png | Bin 0 -> 3693 bytes svelte.config.js | 35 +- test/shuffled.js | 21 + 26 files changed, 4353 insertions(+), 658 deletions(-) create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/tests.yml create mode 100755 .husky/pre-commit create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 LICENSE create mode 100644 src/app.scss create mode 100644 src/components/NotificationRequest.svelte create mode 100644 src/routes/__layout.svelte create mode 100644 src/utils/ideas.js create mode 100644 src/utils/shuffled.js create mode 100644 src/variables.scss create mode 100644 static/favicon.ico delete mode 100644 static/favicon.png create mode 100644 static/stretchly_128x128.png create mode 100644 test/shuffled.js diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 845ea51..4cf323d 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,8 +1,11 @@ module.exports = { root: true, - extends: ['eslint:recommended'], + extends: ['eslint:recommended', 'standard'], plugins: ['svelte3'], overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], + rules: { + 'no-multiple-empty-lines': [ 'error', { max: 1, maxBOF: 2, maxEOF: 0 } ] + }, parserOptions: { sourceType: 'module', ecmaVersion: 2020 @@ -10,6 +13,7 @@ module.exports = { env: { browser: true, es2017: true, - node: true + node: true, + mocha: true } }; diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..88078a6 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,8 @@ +# These are supported funding model platforms + +github: hovancik # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: hovancik +#open_collective: # Replace with a single Open Collective username +#ko_fi: # Replace with a single Ko-fi username +#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +custom: https://www.paypal.me/janhovancik # Replace with a single custom sponsorship URL diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..585db84 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,132 @@ +name: Bug Report +description: File a bug report. +title: "[Bug]: " +body: +- type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + **Filling this report is required and failure to do so will result in closing the issue.** +- type: checkboxes + id: version + attributes: + label: Version + description: We only support the official version at `https://web.stretchly.net` + options: + - label: I'm using official version + required: false +- type: checkboxes + id: known-issues + attributes: + label: Known issues + description: Please check [Known issues](https://github.com/hovancik/stretchly-for-web#known-issues) as it may containt a solution for your problem. + options: + - label: I've checked Known issues + required: true +- type: checkboxes + id: open-issues + attributes: + label: Existing issues + description: Please check [Existing issues](https://github.com/hovancik/stretchly-for-web/issues?q=is%3Aissue) as it may containt your issue already. + options: + - label: I've checked Existing issues + required: true +- type: dropdown + attributes: + label: What operating system are you using? + options: + - Windows + - macOS + - Linux + - Other (specify below) + validations: + required: true +- type: input + attributes: + label: Operating System Version + description: | + What operating system version are you using? On Windows, click Start button > Settings > System > About. + On macOS, click the Apple Menu > About This Mac. + On Linux, use lsb_release or uname -a. + placeholder: "e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04" + validations: + required: true +- type: dropdown + attributes: + label: What browser are you using? + options: + - Firefox + - Chrome + - Safari + - Other (specify below) + validations: + required: true +- type: input + attributes: + label: Browser Version + description: | + What operating system version are you using? + placeholder: "e.g. Firefox 89 or Chromium Version 97.0.4692.99" + validations: + required: true +- type: textarea + id: repro + attributes: + label: Reproduction steps + description: How do you trigger this bug? Please walk us through it step by step. + value: | + 1. + 2. + 3. + ... + **Reproduces how often:** [What percentage of the time does it reproduce?] + validations: + required: true +- type: textarea + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true +- type: textarea + attributes: + label: Actual Behavior + description: A clear description of what actually happens. + validations: + required: true +- type: textarea + id: logs + attributes: + label: Relevant log output + description: | + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + [Learn here](https://github.com/hovancik/stretchly-for-web#debugging) how to get logs. + render: shell + validations: + required: false +- type: textarea + id: preferences + attributes: + label: Preferences + description: | + Please copy and paste your preferences if you made any changes to Preferences. This will be automatically formatted into code, so no need for backticks. + [Learn here](https://github.com/hovancik/stretchly-for-web#debugging) how to get it. + render: shell + validations: + required: false +- type: textarea + id: additional + attributes: + label: Additional information + description: Any additional information, configuration or data that might be necessary to reproduce the issue. + render: shell + validations: + required: false +- type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/hovancik/stretchly-for-web/blob/master/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..be5f60d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,86 @@ +name: Feature request +description: Suggest an idea for this project +title: "[Feature request]: " +body: +- type: markdown + attributes: + value: | + Thanks for taking the time to fill out this feature request! + **Filling this report is required and failure to do so will result in closing the request.** +- type: checkboxes + id: version + attributes: + label: Version + description: We only support the official version at `https://web.stretchly.net` + options: + - label: I'm using official version + required: false +- type: checkboxes + id: open-requests + attributes: + label: Existing requests + description: Please check [Existing requests](https://github.com/hovancik/stretchly-for-web/issues?q=is%3Aissue) as it may containt your idea already. + options: + - label: I've checked Existing requests + required: true +- type: dropdown + attributes: + label: What operating system are you using? + options: + - Windows + - macOS + - Linux + - Other (specify below) + validations: + required: true +- type: input + attributes: + label: Operating System Version + description: | + What operating system version are you using? On Windows, click Start button > Settings > System > About. + On macOS, click the Apple Menu > About This Mac. + On Linux, use lsb_release or uname -a. + placeholder: "e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04" + validations: + required: true +- type: textarea + id: problem + attributes: + label: Problem description + description: Is your feature request related to a problem? Please describe. + value: | + A clear and concise description of what the problem is. + Ex. I'm always frustrated when [...] + validations: + required: true +- type: textarea + id: solution + attributes: + label: Possible solution + description: Describe the solution you'd like + value: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: true +- type: textarea + id: alternatives + attributes: + label: Alternative solutions + description: Describe alternatives you've considered + value: A clear and concise description of what you want to happen. + validations: + required: true +- type: textarea + id: additional + attributes: + label: Additional information + description: Add any other context or screenshots about the feature request here. + validations: + required: false +- type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/hovancik/stretchly-for-web/blob/master/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..918306b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,50 @@ + + +Issue: # + + +### Requirements + +* Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion. + + + +- [ ] issue was opened to discuss proposed changes before starting implementation. It is important do discuss changes before implementing them (Why should we add it? How should it work? How should it look? Where will it be? ...). +- [ ] during development, `node` version specified in `package.json` was used (ie using [nvm](https://github.com/creationix/nvm)). +- [ ] package versions and package-lock.json were not changed (`npm install --no-save`). +- [ ] app version number was not changed. +- [ ] all new code has tests to ensure against regressions. +- [ ] `npm run lint` reports no offenses. +- [ ] `npm run test` is error-free. +- [ ] README and CHANGELOG were updated accordingly. +- [ ] after PR is approved, all commits in it are [squashed](https://gitbetter.substack.com/p/how-to-squash-git-commits) + +### Description of the Change + + + + +### Verification Process + + + + +### Other information diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..f59d25e --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,25 @@ +name: Node.js CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v2 + with: + node-version: '14.18.3' + - run: npm install npm -g + - run: npm install + - run: npx nyc --reporter=lcov npm test + env: + CI: true + - name: Codecov + uses: codecov/codecov-action@v1.1.0 diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..20d0d06 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run lint diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d6a81ad --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,16 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] +## [0.0.1] - 2022-01-22 +### Added +- basic funcionality of Mini and Regular breaks +- ability to Start, Resume, Pause and Stop breaks +- simple Preferences (intervals and durations for Mini and Regular breaks) +- debug information + +[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.1...HEAD +[0.0.1]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.0.1 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..edfbbfb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at jan@hovancik.net. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2773c15 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +Copyright (c) 2021-2022, Jan Hovancik +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md index 82510ca..a5db64f 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,24 @@ -# create-svelte +# [Stretchly for web](https://web.stretchly.net) -Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte); +*Stretchly for Web* is a simplified version of the [Stretchly](https://hovancik.net/stretchly) app. -## Creating a project +## Current features +- basic funcionality of Mini and Regular breaks +- ability to Start, Resume, Pause and Stop breaks +- simple Preferences (intervals and durations for Mini and Regular breaks) +- debug information -If you're seeing this, you've probably already done this step. Congrats! +## New features + I am not sure where I want to take this, yet, so before making any PR, please, open an issue to discuss proposed changes. -```bash -# create a new project in the current directory -npm init svelte@next +## Known issues +None. -# create a new project in my-app -npm init svelte@next my-app -``` +## Debugging +Some debugging information are available under Preferences. Please provide any browser debugging information from [its console](https://developer.mozilla.org/en-US/docs/Tools/Browser_Console). -> Note: the `@next` is temporary +## Credits +Icon by Colin Shanley ([www.colinshanley.com](http://www.colinshanley.com/)). -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -Before creating a production version of your app, install an [adapter](https://kit.svelte.dev/docs#adapters) for your target environment. Then: - -```bash -npm run build -``` - -> You can preview the built app with `npm run preview`, regardless of whether you installed an adapter. This should _not_ be used to serve your app in production. +## License +See [LICENSE](https://github.com/hovancik/stretchly-for-web/blob/master/LICENSE) file. diff --git a/package-lock.json b/package-lock.json index c2301f6..7fa3523 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,31 @@ { - "name": "stretchly-for-web", + "name": "Stretchly for Web", "version": "0.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "stretchly-for-web", + "name": "Stretchly for Web", "version": "0.0.1", + "license": "BSD-2-Clause", "devDependencies": { "@sveltejs/adapter-auto": "next", "@sveltejs/kit": "next", + "bulma": "^0.9.3", + "carbon-icons-svelte": "^10.44.3", + "chai": "^4.3.4", + "chai-as-promised": "^7.1.1", "eslint": "^7.32.0", + "eslint-config-standard": "^16.0.3", "eslint-plugin-svelte3": "^3.2.1", - "svelte": "^3.44.0" + "husky": "^7.0.4", + "mocha": "^9.1.4", + "sass": "^1.46.0", + "svelte": "^3.44.0", + "svelte-preprocess": "^4.10.1" + }, + "engines": { + "node": "14.18.3" } }, "node_modules/@babel/code-frame": { @@ -25,21 +38,21 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -178,52 +191,52 @@ } }, "node_modules/@sveltejs/adapter-auto": { - "version": "1.0.0-next.4", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.4.tgz", - "integrity": "sha512-kfygrjF2uIgVVDsySl7I9oWSekU6adJCr/3qzLQDLM4FJ98FWmfhj4OOWsmF9X4JRPSm97t3RPugYsN3NLwKMQ==", + "version": "1.0.0-next.14", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.14.tgz", + "integrity": "sha512-W69ooD5G5uurEkrL3RDTr6cKnWm5pgVu4UUUHS456nn2P5Qmm+/mTK5IXErupLTosxWGk/Wz79KEwEFNjVOMvQ==", "dev": true, "dependencies": { - "@sveltejs/adapter-cloudflare": "1.0.0-next.3", - "@sveltejs/adapter-netlify": "1.0.0-next.36", - "@sveltejs/adapter-vercel": "1.0.0-next.32" + "@sveltejs/adapter-cloudflare": "1.0.0-next.8", + "@sveltejs/adapter-netlify": "1.0.0-next.42", + "@sveltejs/adapter-vercel": "1.0.0-next.39" } }, "node_modules/@sveltejs/adapter-cloudflare": { - "version": "1.0.0-next.3", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-1.0.0-next.3.tgz", - "integrity": "sha512-LauvvkBFCE8myGMLWOncv97/xU8JJn9OMl1miy8f/q8qs0CrduvR1sv2uCM9AylqT/FNPy3mony5wpe3w1v7sg==", + "version": "1.0.0-next.8", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-1.0.0-next.8.tgz", + "integrity": "sha512-uje8eUfP1xrMEdKczvjl0rpu7WTZZrZCBTgH2sTSYYiAqpCevsmJNZ9Lgh5U5a4BYBYGVvAcYdh8nzoddxOZkw==", "dev": true, "dependencies": { "esbuild": "^0.13.15" } }, "node_modules/@sveltejs/adapter-netlify": { - "version": "1.0.0-next.36", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.36.tgz", - "integrity": "sha512-LdrIXCTBnIubtt/lthcnyt5VljuHpZlVzUqpWXk9Eu6bpNKblqQLMHkTBQfIbPfanmNSDZXJQVsdcFLqF2/+Cw==", + "version": "1.0.0-next.42", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.42.tgz", + "integrity": "sha512-C7KV4Nkgpbgrxuw5q2asr3uTHo0HIkHrWTkJCRWECJPwoD3r/OhKjiY3tER9FopVDDAUyAfIUj7nNFCzTMpW1g==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", - "esbuild": "^0.13.15" + "esbuild": "^0.13.15", + "tiny-glob": "^0.2.9" } }, "node_modules/@sveltejs/adapter-vercel": { - "version": "1.0.0-next.32", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.32.tgz", - "integrity": "sha512-ZcltaS5bAobGD5P0z7xJIjPHSlGpF7padMIkqTzJxwMEb/acGgdO5yzDS8XUEaSNgj+prpD2oG8+gm33ds8x0A==", + "version": "1.0.0-next.39", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.39.tgz", + "integrity": "sha512-YOPGKIILm26h22GN4/iliXce61aTG3Dq5hX8xpDx0cNuCocv0OoLfIqiGpdyJ9NIMpjwXmpVoL4+nV+yh2wcSA==", "dev": true, "dependencies": { "esbuild": "^0.13.15" } }, "node_modules/@sveltejs/kit": { - "version": "1.0.0-next.202", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.202.tgz", - "integrity": "sha512-rXmJ0FplkWvD1CaeCfejRYhOJYrlmeUm5Fkw7gIKDdWPQev5rqOhd9B9ZvRpq35oMqCAwaOfK+e5S6k+83feEQ==", + "version": "1.0.0-next.239", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.239.tgz", + "integrity": "sha512-+qmiYVdNMmdnjni6/T4sj6yCUf02KvTLpnPZ5yca2grAgMuQkA/sW5Gnce9Zsop0sRKRvM1GY9Pnp8NhERXC6Q==", "dev": true, "dependencies": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", - "cheap-watch": "^1.0.4", + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.32", "sade": "^1.7.4", "vite": "^2.7.2" }, @@ -238,17 +251,16 @@ } }, "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "1.0.0-next.32", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.32.tgz", - "integrity": "sha512-Lhf5BxVylosHIW6U2s6WDQA39ycd+bXivC8gHsXCJeLzxoHj7Pv7XAOk25xRSXT4wHg9DWFMBQh2DFU0DxHZ2g==", + "version": "1.0.0-next.35", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.35.tgz", + "integrity": "sha512-PuhI+1L6xqn5gc6jiK4mHmeS8kf3c1E+IaAsJclHbZTNiPQdC5SiTM3cV0FAA4zhwHmXV6pjt8rRHRx8ouFv3g==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^4.1.1", + "@rollup/pluginutils": "^4.1.2", "debug": "^4.3.3", "kleur": "^4.1.4", "magic-string": "^0.25.7", - "require-relative": "^0.8.7", - "svelte-hmr": "^0.14.7" + "svelte-hmr": "^0.14.9" }, "engines": { "node": "^14.13.1 || >= 16" @@ -264,6 +276,40 @@ } } }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true, + "peer": true + }, + "node_modules/@types/node": { + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", + "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", + "dev": true + }, + "node_modules/@types/pug": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", + "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==", + "dev": true + }, + "node_modules/@types/sass": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", + "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -334,6 +380,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -343,6 +402,53 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -358,6 +464,15 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -368,6 +483,53 @@ "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/bulma": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.3.tgz", + "integrity": "sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -377,6 +539,53 @@ "node": ">=6" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/carbon-icons-svelte": { + "version": "10.44.3", + "resolved": "https://registry.npmjs.org/carbon-icons-svelte/-/carbon-icons-svelte-10.44.3.tgz", + "integrity": "sha512-vLBy3T5Dnv68vjTJEtwL7DKHX4VqXHeJ6DwPtiO9zTwoMOU3eLx/exzR6KTISuUMqfEPmrOy4dOwZc5sPWuxLA==", + "dev": true + }, + "node_modules/chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "dependencies": { + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 5" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -393,13 +602,45 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/cheap-watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cheap-watch/-/cheap-watch-1.0.4.tgz", - "integrity": "sha512-QR/9FrtRL5fjfUJBhAKCdi0lSRQ3rVRRum3GF9wDKp2TJbEIMGhUEr2yU8lORzm9Isdjx7/k9S0DFDx+z5VGtw==", + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true, "engines": { - "node": ">=8" + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/color-convert": { @@ -457,12 +698,67 @@ } } }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "peer": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -493,6 +789,65 @@ "node": ">=8.6" } }, + "node_modules/es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "peer": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", + "dev": true + }, "node_modules/esbuild": { "version": "0.13.15", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", @@ -522,84 +877,6 @@ "esbuild-windows-arm64": "0.13.15" } }, - "node_modules/esbuild-android-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz", - "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/esbuild-darwin-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz", - "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz", - "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz", - "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz", - "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-linux-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz", - "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/esbuild-linux-64": { "version": "0.13.15", "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", @@ -613,147 +890,26 @@ "linux" ] }, - "node_modules/esbuild-linux-arm": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz", - "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==", - "cpu": [ - "arm" - ], + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=6" + } }, - "node_modules/esbuild-linux-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz", - "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==", - "cpu": [ - "arm64" - ], + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz", - "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz", - "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz", - "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ] - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz", - "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/esbuild-sunos-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz", - "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ] - }, - "node_modules/esbuild-windows-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz", - "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/esbuild-windows-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz", - "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz", - "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/eslint": { "version": "7.32.0", @@ -812,10 +968,213 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-standard": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", + "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peerDependencies": { + "eslint": "^7.12.1", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1 || ^5.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", + "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", + "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.2", + "has": "^1.0.3", + "is-core-module": "^2.8.0", + "is-glob": "^4.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.5", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.12.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "peer": true + }, + "node_modules/eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-plugin-node/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint-plugin-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", + "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0" + } + }, "node_modules/eslint-plugin-svelte3": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.2.1.tgz", - "integrity": "sha512-YoBR9mLoKCjGghJ/gvpnFZKaMEu/VRcuxpSRS8KuozuEo7CdBH7bmBHa6FmMm0i4kJnOyx+PVsaptz96K6H/4Q==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.4.0.tgz", + "integrity": "sha512-MIQUTuRv3o7LyQ+360qOc9mLT35j1I5YzHr04g/UDcvJTpg0X/kHWELY99ve869Rp/9wjqD7I26Aq5H8OH5RIg==", "dev": true, "engines": { "node": ">=10" @@ -1003,6 +1362,40 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "peer": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -1028,20 +1421,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -1054,10 +1433,60 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -1101,6 +1530,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -1113,6 +1569,16 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1122,23 +1588,82 @@ "node": ">=8" } }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, + "peer": true, "engines": { - "node": ">= 4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, + "peer": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" @@ -1172,10 +1697,80 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "peer": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "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, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -1184,6 +1779,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1214,6 +1825,137 @@ "node": ">=0.10.0" } }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "peer": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1251,6 +1993,19 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "peer": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/kleur": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", @@ -1273,49 +2028,281 @@ "node": ">= 0.8.0" } }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "peer": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz", + "integrity": "sha512-+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==", + "dev": true, + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.2", + "debug": "4.3.2", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.7", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.25", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.1.5", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "yocto-queue": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.4" + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "has-flag": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/mri": { @@ -1334,9 +2321,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -1351,6 +2338,72 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1377,6 +2430,42 @@ "node": ">= 0.8.0" } }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "peer": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "peer": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -1389,6 +2478,16 @@ "node": ">=6" } }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -1413,6 +2512,15 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -1420,9 +2528,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -1449,6 +2557,18 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -1476,6 +2596,27 @@ "node": ">=6" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -1488,6 +2629,15 @@ "url": "https://github.com/sponsors/mysticatea" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -1497,20 +2647,18 @@ "node": ">=0.10.0" } }, - "node_modules/require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", - "dev": true - }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz", + "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==", "dev": true, "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1541,9 +2689,9 @@ } }, "node_modules/rollup": { - "version": "2.61.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.61.1.tgz", - "integrity": "sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==", + "version": "2.66.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.66.0.tgz", + "integrity": "sha512-L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -1556,15 +2704,76 @@ } }, "node_modules/sade": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz", - "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", "dev": true, "dependencies": { "mri": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">=6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=", + "dev": true, + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/sander/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/sass": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz", + "integrity": "sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" } }, "node_modules/semver": { @@ -1582,6 +2791,15 @@ "node": ">=10" } }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -1603,6 +2821,21 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -1620,10 +2853,25 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/sorcery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", + "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=", + "dev": true, + "dependencies": { + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0", + "sourcemap-codec": "^1.3.0" + }, + "bin": { + "sorcery": "bin/index.js" + } + }, "node_modules/source-map-js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", - "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1655,6 +2903,34 @@ "node": ">=8" } }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -1667,6 +2943,28 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -1691,10 +2989,22 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/svelte": { - "version": "3.44.3", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.3.tgz", - "integrity": "sha512-aGgrNCip5PQFNfq9e9tmm7EYxWLVHoFsEsmKrtOeRD8dmoGDdyTQ+21xd7qgFd8MNdKGSYvg7F9dr+Tc0yDymg==", + "version": "3.46.2", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.46.2.tgz", + "integrity": "sha512-RXSAtYNefe01Sb1lXtZ2I+gzn3t/h/59hoaRNeRrm8IkMIu6BSiAkbpi41xb+C44x54YKnbk9+dtfs3pM4hECA==", "dev": true, "engines": { "node": ">= 8" @@ -1709,10 +3019,76 @@ "svelte": ">=3.19.0" } }, + "node_modules/svelte-preprocess": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.2.tgz", + "integrity": "sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.4", + "@types/sass": "^1.16.0", + "detect-indent": "^6.0.0", + "magic-string": "^0.25.7", + "sorcery": "^0.10.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 9.11.2" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0", + "svelte": "^3.23.0", + "typescript": "^4.5.2" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, "node_modules/table": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.5.tgz", - "integrity": "sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "dependencies": { "ajv": "^8.0.1", @@ -1726,9 +3102,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -1753,6 +3129,41 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -1765,6 +3176,15 @@ "node": ">= 0.8.0" } }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -1777,6 +3197,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -1793,9 +3229,9 @@ "dev": true }, "node_modules/vite": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.7.6.tgz", - "integrity": "sha512-PBNoc87rDYLtkpFU9dbVeGdbcyKzz6c34oScqivE3FEa3BhVa4ASupCzcz0eDIiSECovfLcQnLUJt9vhiEU08g==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.7.13.tgz", + "integrity": "sha512-Mq8et7f3aK0SgSxjDNfOAimZGW9XryfHRa/uV0jseQSilg+KhYDSoNb9h1rknOy6SuMkvNDLKCYAYYUMCE+IgQ==", "dev": true, "dependencies": { "esbuild": "^0.13.12", @@ -1844,6 +3280,23 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "peer": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -1853,17 +3306,103 @@ "node": ">=0.10.0" } }, + "node_modules/workerpool": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", + "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -1877,18 +3416,18 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -2002,70 +3541,103 @@ } }, "@sveltejs/adapter-auto": { - "version": "1.0.0-next.4", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.4.tgz", - "integrity": "sha512-kfygrjF2uIgVVDsySl7I9oWSekU6adJCr/3qzLQDLM4FJ98FWmfhj4OOWsmF9X4JRPSm97t3RPugYsN3NLwKMQ==", + "version": "1.0.0-next.14", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0-next.14.tgz", + "integrity": "sha512-W69ooD5G5uurEkrL3RDTr6cKnWm5pgVu4UUUHS456nn2P5Qmm+/mTK5IXErupLTosxWGk/Wz79KEwEFNjVOMvQ==", "dev": true, "requires": { - "@sveltejs/adapter-cloudflare": "1.0.0-next.3", - "@sveltejs/adapter-netlify": "1.0.0-next.36", - "@sveltejs/adapter-vercel": "1.0.0-next.32" + "@sveltejs/adapter-cloudflare": "1.0.0-next.8", + "@sveltejs/adapter-netlify": "1.0.0-next.42", + "@sveltejs/adapter-vercel": "1.0.0-next.39" } }, "@sveltejs/adapter-cloudflare": { - "version": "1.0.0-next.3", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-1.0.0-next.3.tgz", - "integrity": "sha512-LauvvkBFCE8myGMLWOncv97/xU8JJn9OMl1miy8f/q8qs0CrduvR1sv2uCM9AylqT/FNPy3mony5wpe3w1v7sg==", + "version": "1.0.0-next.8", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-1.0.0-next.8.tgz", + "integrity": "sha512-uje8eUfP1xrMEdKczvjl0rpu7WTZZrZCBTgH2sTSYYiAqpCevsmJNZ9Lgh5U5a4BYBYGVvAcYdh8nzoddxOZkw==", "dev": true, "requires": { "esbuild": "^0.13.15" } }, "@sveltejs/adapter-netlify": { - "version": "1.0.0-next.36", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.36.tgz", - "integrity": "sha512-LdrIXCTBnIubtt/lthcnyt5VljuHpZlVzUqpWXk9Eu6bpNKblqQLMHkTBQfIbPfanmNSDZXJQVsdcFLqF2/+Cw==", + "version": "1.0.0-next.42", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-1.0.0-next.42.tgz", + "integrity": "sha512-C7KV4Nkgpbgrxuw5q2asr3uTHo0HIkHrWTkJCRWECJPwoD3r/OhKjiY3tER9FopVDDAUyAfIUj7nNFCzTMpW1g==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", - "esbuild": "^0.13.15" + "esbuild": "^0.13.15", + "tiny-glob": "^0.2.9" } }, "@sveltejs/adapter-vercel": { - "version": "1.0.0-next.32", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.32.tgz", - "integrity": "sha512-ZcltaS5bAobGD5P0z7xJIjPHSlGpF7padMIkqTzJxwMEb/acGgdO5yzDS8XUEaSNgj+prpD2oG8+gm33ds8x0A==", + "version": "1.0.0-next.39", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.39.tgz", + "integrity": "sha512-YOPGKIILm26h22GN4/iliXce61aTG3Dq5hX8xpDx0cNuCocv0OoLfIqiGpdyJ9NIMpjwXmpVoL4+nV+yh2wcSA==", "dev": true, "requires": { "esbuild": "^0.13.15" } }, "@sveltejs/kit": { - "version": "1.0.0-next.202", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.202.tgz", - "integrity": "sha512-rXmJ0FplkWvD1CaeCfejRYhOJYrlmeUm5Fkw7gIKDdWPQev5rqOhd9B9ZvRpq35oMqCAwaOfK+e5S6k+83feEQ==", + "version": "1.0.0-next.239", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.239.tgz", + "integrity": "sha512-+qmiYVdNMmdnjni6/T4sj6yCUf02KvTLpnPZ5yca2grAgMuQkA/sW5Gnce9Zsop0sRKRvM1GY9Pnp8NhERXC6Q==", "dev": true, "requires": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30", - "cheap-watch": "^1.0.4", + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.32", "sade": "^1.7.4", "vite": "^2.7.2" } }, "@sveltejs/vite-plugin-svelte": { - "version": "1.0.0-next.32", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.32.tgz", - "integrity": "sha512-Lhf5BxVylosHIW6U2s6WDQA39ycd+bXivC8gHsXCJeLzxoHj7Pv7XAOk25xRSXT4wHg9DWFMBQh2DFU0DxHZ2g==", + "version": "1.0.0-next.35", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.35.tgz", + "integrity": "sha512-PuhI+1L6xqn5gc6jiK4mHmeS8kf3c1E+IaAsJclHbZTNiPQdC5SiTM3cV0FAA4zhwHmXV6pjt8rRHRx8ouFv3g==", "dev": true, "requires": { - "@rollup/pluginutils": "^4.1.1", + "@rollup/pluginutils": "^4.1.2", "debug": "^4.3.3", "kleur": "^4.1.4", "magic-string": "^0.25.7", - "require-relative": "^0.8.7", - "svelte-hmr": "^0.14.7" + "svelte-hmr": "^0.14.9" + } + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true, + "peer": true + }, + "@types/node": { + "version": "17.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz", + "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==", + "dev": true + }, + "@types/pug": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", + "integrity": "sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==", + "dev": true + }, + "@types/sass": { + "version": "1.43.1", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", + "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", + "dev": true, + "requires": { + "@types/node": "*" } }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -2112,6 +3684,16 @@ "color-convert": "^2.0.1" } }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -2121,6 +3703,38 @@ "sprintf-js": "~1.0.2" } }, + "array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + } + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -2133,6 +3747,12 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2143,12 +3763,85 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "bulma": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.3.tgz", + "integrity": "sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "carbon-icons-svelte": { + "version": "10.44.3", + "resolved": "https://registry.npmjs.org/carbon-icons-svelte/-/carbon-icons-svelte-10.44.3.tgz", + "integrity": "sha512-vLBy3T5Dnv68vjTJEtwL7DKHX4VqXHeJ6DwPtiO9zTwoMOU3eLx/exzR6KTISuUMqfEPmrOy4dOwZc5sPWuxLA==", + "dev": true + }, + "chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "requires": { + "check-error": "^1.0.2" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2159,12 +3852,39 @@ "supports-color": "^7.1.0" } }, - "cheap-watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cheap-watch/-/cheap-watch-1.0.4.tgz", - "integrity": "sha512-QR/9FrtRL5fjfUJBhAKCdi0lSRQ3rVRRum3GF9wDKp2TJbEIMGhUEr2yU8lORzm9Isdjx7/k9S0DFDx+z5VGtw==", + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2206,180 +3926,158 @@ "ms": "2.1.2" } }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "type-detect": "^4.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "esbuild": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", - "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==", + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, + "peer": true, "requires": { - "esbuild-android-arm64": "0.13.15", - "esbuild-darwin-64": "0.13.15", - "esbuild-darwin-arm64": "0.13.15", - "esbuild-freebsd-64": "0.13.15", - "esbuild-freebsd-arm64": "0.13.15", - "esbuild-linux-32": "0.13.15", - "esbuild-linux-64": "0.13.15", - "esbuild-linux-arm": "0.13.15", - "esbuild-linux-arm64": "0.13.15", - "esbuild-linux-mips64le": "0.13.15", - "esbuild-linux-ppc64le": "0.13.15", - "esbuild-netbsd-64": "0.13.15", - "esbuild-openbsd-64": "0.13.15", - "esbuild-sunos-64": "0.13.15", - "esbuild-windows-32": "0.13.15", - "esbuild-windows-64": "0.13.15", - "esbuild-windows-arm64": "0.13.15" + "object-keys": "^1.0.12" } }, - "esbuild-android-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz", - "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz", - "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz", - "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz", - "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz", - "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz", - "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", - "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz", - "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==", - "dev": true, - "optional": true + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true }, - "esbuild-linux-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz", - "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==", - "dev": true, - "optional": true + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true }, - "esbuild-linux-mips64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz", - "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==", + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "optional": true + "requires": { + "esutils": "^2.0.2" + } }, - "esbuild-linux-ppc64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz", - "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==", - "dev": true, - "optional": true + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "esbuild-netbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz", - "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==", + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "optional": true + "requires": { + "ansi-colors": "^4.1.1" + } }, - "esbuild-openbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz", - "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==", + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz", - "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "optional": true + "peer": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } }, - "esbuild-windows-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz", - "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==", - "dev": true, - "optional": true + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", + "dev": true }, - "esbuild-windows-64": { + "esbuild": { "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz", - "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", + "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==", "dev": true, - "optional": true + "requires": { + "esbuild-android-arm64": "0.13.15", + "esbuild-darwin-64": "0.13.15", + "esbuild-darwin-arm64": "0.13.15", + "esbuild-freebsd-64": "0.13.15", + "esbuild-freebsd-arm64": "0.13.15", + "esbuild-linux-32": "0.13.15", + "esbuild-linux-64": "0.13.15", + "esbuild-linux-arm": "0.13.15", + "esbuild-linux-arm64": "0.13.15", + "esbuild-linux-mips64le": "0.13.15", + "esbuild-linux-ppc64le": "0.13.15", + "esbuild-netbsd-64": "0.13.15", + "esbuild-openbsd-64": "0.13.15", + "esbuild-sunos-64": "0.13.15", + "esbuild-windows-32": "0.13.15", + "esbuild-windows-64": "0.13.15", + "esbuild-windows-arm64": "0.13.15" + } }, - "esbuild-windows-arm64": { + "esbuild-linux-64": { "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz", - "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", + "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==", "dev": true, "optional": true }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2434,10 +4132,164 @@ "v8-compile-cache": "^2.0.3" } }, + "eslint-config-standard": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", + "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", + "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "peer": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-plugin-import": { + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", + "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.2", + "has": "^1.0.3", + "is-core-module": "^2.8.0", + "is-glob": "^4.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.5", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "peer": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "peer": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-promise": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", + "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "dev": true, + "peer": true, + "requires": {} + }, "eslint-plugin-svelte3": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.2.1.tgz", - "integrity": "sha512-YoBR9mLoKCjGghJ/gvpnFZKaMEu/VRcuxpSRS8KuozuEo7CdBH7bmBHa6FmMm0i4kJnOyx+PVsaptz96K6H/4Q==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.4.0.tgz", + "integrity": "sha512-MIQUTuRv3o7LyQ+360qOc9mLT35j1I5YzHr04g/UDcvJTpg0X/kHWELY99ve869Rp/9wjqD7I26Aq5H8OH5RIg==", "dev": true, "requires": {} }, @@ -2578,6 +4430,31 @@ "flat-cache": "^3.0.4" } }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "peer": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -2600,13 +4477,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "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": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2619,10 +4489,45 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2651,6 +4556,30 @@ "type-fest": "^0.20.2" } }, + "globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2660,18 +4589,60 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "peer": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "peer": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -2694,44 +4665,186 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "peer": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "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" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "peer": true + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "peer": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, + "peer": true }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "peer": true, "requires": { - "has": "^1.0.3" + "has-tostringtag": "^1.0.0" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "peer": true, "requires": { - "is-extglob": "^2.1.1" + "call-bind": "^1.0.2" } }, "isexe": { @@ -2768,6 +4881,16 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.0" + } + }, "kleur": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", @@ -2784,6 +4907,17 @@ "type-check": "~0.4.0" } }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "peer": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -2796,6 +4930,16 @@ "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2814,6 +4958,12 @@ "sourcemap-codec": "^1.4.4" } }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -2823,6 +4973,145 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mocha": { + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz", + "integrity": "sha512-+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.2", + "debug": "4.3.2", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.7", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.25", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.1.5", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -2836,9 +5125,9 @@ "dev": true }, "nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", "dev": true }, "natural-compare": { @@ -2847,6 +5136,51 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "peer": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "peer": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2870,6 +5204,33 @@ "word-wrap": "^1.2.3" } }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "peer": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "peer": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "peer": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -2879,6 +5240,13 @@ "callsites": "^3.0.0" } }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "peer": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -2897,6 +5265,12 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -2904,9 +5278,9 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "postcss": { @@ -2918,6 +5292,14 @@ "nanoid": "^3.1.30", "picocolors": "^1.0.0", "source-map-js": "^1.0.1" + }, + "dependencies": { + "nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "dev": true + } } }, "prelude-ls": { @@ -2938,32 +5320,51 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", - "dev": true - }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz", + "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-from": { @@ -2982,23 +5383,63 @@ } }, "rollup": { - "version": "2.61.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.61.1.tgz", - "integrity": "sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==", + "version": "2.66.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.66.0.tgz", + "integrity": "sha512-L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g==", "dev": true, "requires": { "fsevents": "~2.3.2" } }, "sade": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz", - "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", "dev": true, "requires": { "mri": "^1.1.0" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=", + "dev": true, + "requires": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "sass": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz", + "integrity": "sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -3008,6 +5449,15 @@ "lru-cache": "^6.0.0" } }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3023,6 +5473,18 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -3034,10 +5496,22 @@ "is-fullwidth-code-point": "^3.0.0" } }, + "sorcery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz", + "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=", + "dev": true, + "requires": { + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0", + "sourcemap-codec": "^1.3.0" + } + }, "source-map-js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", - "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, "sourcemap-codec": { @@ -3063,6 +5537,28 @@ "strip-ansi": "^6.0.1" } }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -3072,6 +5568,22 @@ "ansi-regex": "^5.0.1" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "peer": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3087,10 +5599,16 @@ "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "svelte": { - "version": "3.44.3", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.3.tgz", - "integrity": "sha512-aGgrNCip5PQFNfq9e9tmm7EYxWLVHoFsEsmKrtOeRD8dmoGDdyTQ+21xd7qgFd8MNdKGSYvg7F9dr+Tc0yDymg==", + "version": "3.46.2", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.46.2.tgz", + "integrity": "sha512-RXSAtYNefe01Sb1lXtZ2I+gzn3t/h/59hoaRNeRrm8IkMIu6BSiAkbpi41xb+C44x54YKnbk9+dtfs3pM4hECA==", "dev": true }, "svelte-hmr": { @@ -3100,10 +5618,24 @@ "dev": true, "requires": {} }, + "svelte-preprocess": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.2.tgz", + "integrity": "sha512-aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==", + "dev": true, + "requires": { + "@types/pug": "^2.0.4", + "@types/sass": "^1.16.0", + "detect-indent": "^6.0.0", + "magic-string": "^0.25.7", + "sorcery": "^0.10.0", + "strip-indent": "^3.0.0" + } + }, "table": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.5.tgz", - "integrity": "sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "requires": { "ajv": "^8.0.1", @@ -3114,9 +5646,9 @@ }, "dependencies": { "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3139,6 +5671,38 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "requires": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "peer": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3148,12 +5712,31 @@ "prelude-ls": "^1.2.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -3170,9 +5753,9 @@ "dev": true }, "vite": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.7.6.tgz", - "integrity": "sha512-PBNoc87rDYLtkpFU9dbVeGdbcyKzz6c34oScqivE3FEa3BhVa4ASupCzcz0eDIiSECovfLcQnLUJt9vhiEU08g==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.7.13.tgz", + "integrity": "sha512-Mq8et7f3aK0SgSxjDNfOAimZGW9XryfHRa/uV0jseQSilg+KhYDSoNb9h1rknOy6SuMkvNDLKCYAYYUMCE+IgQ==", "dev": true, "requires": { "esbuild": "^0.13.12", @@ -3191,23 +5774,99 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "peer": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "workerpool": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", + "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 4c877a2..3add493 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,50 @@ { - "name": "stretchly-for-web", + "name": "Stretchly for Web", "version": "0.0.1", + "description": "The break time reminder app", + "engines": { + "node": "14.18.3" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/hovancik/stretchly.git" + }, + "keywords": [ + "Stretchly", + "break", + "time", + "reminder" + ], + "author": "Jan Hovancik ", + "license": "BSD-2-Clause", + "bugs": { + "url": "https://github.com/hovancik/stretchly-for-web/issues" + }, + "homepage": "https://web.stretchly.net", "scripts": { "dev": "svelte-kit dev", "build": "svelte-kit build", "package": "svelte-kit package", "preview": "svelte-kit preview", - "lint": "eslint --ignore-path .gitignore ." + "test": "mocha test", + "lint": "eslint --ignore-path .gitignore .", + "prepare": "husky install" }, "devDependencies": { "@sveltejs/adapter-auto": "next", "@sveltejs/kit": "next", + "bulma": "^0.9.3", + "carbon-icons-svelte": "^10.44.3", + "chai": "^4.3.4", + "chai-as-promised": "^7.1.1", "eslint": "^7.32.0", + "eslint-config-standard": "^16.0.3", "eslint-plugin-svelte3": "^3.2.1", - "svelte": "^3.44.0" + "husky": "^7.0.4", + "mocha": "^9.1.4", + "sass": "^1.46.0", + "svelte": "^3.44.0", + "svelte-preprocess": "^4.10.1" }, "type": "module" -} \ No newline at end of file +} diff --git a/src/app.html b/src/app.html index f59bc40..9c8080f 100644 --- a/src/app.html +++ b/src/app.html @@ -3,7 +3,7 @@ - + %svelte.head% diff --git a/src/app.scss b/src/app.scss new file mode 100644 index 0000000..15a6848 --- /dev/null +++ b/src/app.scss @@ -0,0 +1,9 @@ +/* Write your global styles here, in SCSS syntax. Variables and mixins from the src/variables.scss file are available here without importing */ /* Import only what you need from Bulma */ +@import "bulma/sass/utilities/_all"; +@import "bulma/sass/base/_all"; +@import "bulma/sass/elements/_all"; +@import "bulma/sass/form/_all"; +@import "bulma/sass/components/_all"; +@import "bulma/sass/grid/_all"; +@import "bulma/sass/helpers/_all"; +@import "bulma/sass/layout/_all"; diff --git a/src/components/NotificationRequest.svelte b/src/components/NotificationRequest.svelte new file mode 100644 index 0000000..d8c9975 --- /dev/null +++ b/src/components/NotificationRequest.svelte @@ -0,0 +1,41 @@ + + +
+ {#if !browserSupportsNotifications} +
+

This browser does not support notifications.

+
+ {:else if !notificationsAreAllowed} +
+ +

Notifications are not allowed. Please request the permission by clicking on button.

+
+ {/if} +
diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte new file mode 100644 index 0000000..97eab79 --- /dev/null +++ b/src/routes/__layout.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/routes/index.svelte b/src/routes/index.svelte index 5982b0a..23b8535 100644 --- a/src/routes/index.svelte +++ b/src/routes/index.svelte @@ -1,2 +1,292 @@ -

Welcome to SvelteKit

-

Visit kit.svelte.dev to read the documentation

+ + + Stretchly for Web + +
+
+
+ +
+
+ {#if status === 'stopped' || status === 'paused'} + + {:else if status === 'running'} + + + {/if} +
+
+
+
+
+
+ {#if status !== 'running'} +
+

+ Stretchly for Web +

+ + Breaks are {status} + +
+ {:else if current === 'work'} +
+

+ Time to work! +

+ {#if finishedMinis === longBreakInterval} + + Next Long Break in {formattedLeft} + + {:else} + + Next Mini Break in {formattedLeft} + + {/if} +
+ {:else} +
+ {#if finishedMinis === longBreakInterval} +
+

+ {longBreakIdea[0]} +

+

+ {longBreakIdea[1]} +

+
+ {:else} +

+ {miniBreakIdea} +

+ {/if} + + {formattedLeft} remaining + +
+ {/if} +
+
+
+
+

+ Stretchly for Web v0.0.1 | + Preferences | + Made with ♥ by Jan Hovancik +

+
+
+
+
+
+
+

+ Preferences +

+

None of the preferences are saved and will be reset to defaults when page is reloaded.

+

Mini Breaks

+

Mini Breaks are short breaks taken regularly to give you a chance to stretch and relax.

+
+
+ +
+
+
+

+ +

+
+
+
+
+
+ +
+
+
+

+ +

+
+
+
+

Mini Breaks

+

Long Breaks are taken less regularly, but are of greater duration, allowing you to take an extended break from your work.

+
+
+ +
+
+
+

+ +

+
+
+
+
+
+ +
+
+
+

+ +

+
+
+
+

+ Debug information +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
status {status}
longBreakInterval {longBreakInterval}
longBreakDuration {longBreakDuration}
miniBreakInterval {miniBreakInterval}
miniBreakDuration {miniBreakDuration}
counter {counter}
current {current}
left {left}
formattedLeft {formattedLeft}
finishedMinis {finishedMinis}
+
+
+
+
diff --git a/src/utils/ideas.js b/src/utils/ideas.js new file mode 100644 index 0000000..78c5d08 --- /dev/null +++ b/src/utils/ideas.js @@ -0,0 +1,221 @@ +export const theLongBreakIdeas = [ + { + data: ['Not alone', 'Do you find it hard to take a break alone? Try to do it with a co-worker. Aside from making it easier to stick to breaks, you will have a chance to get to know them better. Taking breaks together increases productivity.'] + }, + { + data: ['Step away', 'Do you ever notice how your brain can figure things out by itself? All it takes is to step away from the computer and take a break to think about something totally unrelated.'] + }, + { + data: ['Microbreaks', 'Rest is a key component in ensuring the performance of the musculoskeletal system. Frequent breaks can decrease the duration of a task and help lower the exposure to ergonomic injury risk.'] + }, + { + data: ['Meditation', 'Research studies suggest that mindfulness-based exercises help decrease anxiety, depression, stress, and pain, and help improve general health, mental health, and quality of life. Not sure how to start? There are numerous apps to help you out.'] + }, + { + data: ['Blink', 'Looking at screens for a long time causes you to blink less, thus exposing your eyes to the air. Blink rapidly for a few seconds to refresh the tear film and clear dust from the eye surface.'] + }, + { + data: ['Ergonomics', 'Improper height and angle of the keyboard, mouse, monitor or working surface can cause health problems. Take some time to read about desk ergonomics.'] + }, + { + data: ['Move', 'There are a lot of ways you can exercise within your office. Try marching in place or doing desk push-ups.'] + }, + { + data: ['Change', 'Do you have a stability ball or standing work desk? Consider replacing your desk chair with them for a while.'] + }, + { + data: ['Notice', 'Are you daydreaming or having trouble focusing? It is a sign that you need to take a break.'] + }, + { + data: ['Tech', 'How about taking a no-tech walk?'] + }, + { + data: ['Metabolism', 'Emerging research shows that sitting for long periods of time contributes to risk of metabolic syndrome, heart attack and stroke risk and overall death risk, among others. Taking regular walking breaks can help your circulation, working to counteract some of those problems.'] + }, + { + data: ['Active Meetings', 'How about moving meetings from the conference room to the concourse? Walking not only burns calories but it may even foster a sense of collaboration.'] + }, + { + data: ['Fruit', 'Take your time and eat some fruit. Slowly. Notice the flavor, the texture, the freshness.'] + }, + { + data: ['Bathrooms', 'Walk to the farthest bathroom in the worksite facility when going to the restroom.'] + }, + { + data: ['Coffee break', 'Going on coffee break? Consider doing a 5-minute walk every time you go for one.'] + }, + { + data: ['Colleagues', 'Do not email or message office colleagues, walk to their desks to communicate with them.'] + }, + { + data: ['Learning', 'In a study of healthy volunteers, NIH researchers found that taking short breaks, early and often, may help our brains learn new skills.'] + }, + { + data: ['Exercise', 'Evidence suggests small amounts of regular exercise can bring dramatic health benefits, including measurably reducing stress.'] + }, + { + data: ['Repeat', 'Have you found your stretch-ly-routine? Do not forget to repeat it for more than once to better fight effects of prolonged sitting.'] + }, + { + data: ['Wrist and forearm', 'Extend your arms with the palms facing towards you, then slowly rotate the hands four times clockwise, then four times counter-clockwise.'] + }, + { + data: ['Back stretching', 'Join your hands behind your head, then lift them together up above your head ending with your palms facing upward.'] + }, + { + data: ['Mobilize', 'For every thirty minutes of stagnation, you should have at least one minute of stimulation.'] + }, + { + data: ['7 Minute Workout', 'This workout packs in a full-body exercise routine in a fraction of the time. But as with any exercise, be careful. There are numerous apps to get you started.'] + }, + { + data: ['Pulse', ' Raise your pulse rate to 120 beats per minute for 20 straight minutes four or five times a week doing anything you enjoy. Regularly raising your heart rate results in improved cardiovascular health.'] + }, + { + data: ['Take the stairs ', 'Studies have shown that stair climbing, which is considered vigorous-intensity physical activity, burns more calories per minute than jogging.'] + }, + { + data: ['Make art', 'Art therapy is known to have great mental health benefits, especially when it comes to stress management. How about writing a quick poem, taking a picture or painting something small?'] + }, + { + data: ['Declutter', 'A clean space helps your focus at work and is often linked to positive emotions like happiness.'] + }, + { + data: ['Lunch outside', 'Nature is linked to positive emotions and decreased stress and anxiety. Whenever possible, try to take your daily lunch break outside, surrounded by some greenery.'] + }, + { + data: ['Public transport', 'If you use public transport regularly, you can stand instead of sitting. If it is possible, try to replace as many of your daily trips as possible with walking or cycling.'] + }, + { + data: ['Yawning', 'Yawning can be really helpful, as it produces tears to help moisten and lubricate the eyes.'] + }, + { + data: ['Focus change', 'Hold one finger close to the eye and focus on it. Slowly move the finger away, focus far into the distance and then back to the finger. Bring the finger back and focus on something far away.'] + }, + { + data: ['Palming', 'While seated, brace elbows on the desk and close to the desk edge. Let your weight fall forward and cup hands over eyes. Close your eyes and inhale slowly through nose and hold for few seconds. Continue deep breathing.'] + }, + { + data: ['Hand squeezes', 'Squeeze a pair of balled-up socks or a soft rubber ball, hold for 5 seconds. Repeat whole process few times.'] + }, + { + data: ['Slow Breathing', 'Emerging research suggests potential for use of controlled slow breathing techniques as a means of optimising physiological parameters that appear to be associated with health and longevity.'] + } +] + +export const theMiniBreakIdeas = [ + { + data: 'Go grab a glass of water.' + }, + { + data: 'Slowly look all the way left, then right.' + }, + { + data: 'Slowly look all the way up, then down.' + }, + { + data: 'Close your eyes and take few deep breaths.' + }, + { + data: 'Close your eyes and relax.' + }, + { + data: 'Stretch your legs.' + }, + { + data: 'Stretch your arms.' + }, + { + data: 'Is your sitting posture correct?' + }, + { + data: 'Slowly turn head to side and hold for 10 seconds.' + }, + { + data: 'Slowly tilt head to side and hold for 5-10 seconds.' + }, + { + data: 'Stand from your chair and stretch.' + }, + { + data: 'Refocus your eyes on an object at least 20 meters away.' + }, + { + data: 'Take a moment to think about something you appreciate.' + }, + { + data: 'Take a moment to smile at being alive.' + }, + { + data: 'A truly ergonomic workstation is one that you regularly push away from.' + }, + { + data: 'Close your eyes and count your breaths.' + }, + { + data: 'Close your eyes and name the things you hear.' + }, + { + data: 'Place your fingertips on your shoulders. Roll your shoulders forward for 10 seconds, then backward.' + }, + { + data: 'Raise your right arm, stretch it over your head to the left, and hold for 10 seconds. Repeat on the other side.' + }, + { + data: 'With your right hand, grab each finger of your left hand in turn and squeeze. Repeat on the other side.' + }, + { + data: 'Stand up and do a lunge. Hold for 10 seconds, then do the other leg.' + }, + { + data: 'Close your eyes and simply notice whatever arises in current moment, without judgement.' + }, + { + data: 'Focus every 20 minutes for 20 seconds on an object at 20 feet distance.' + }, + { + data: 'If you need help, ask for it.' + }, + { + data: 'Do one thing at a time.' + }, + { + data: 'Is your attention spent wisely?' + }, + { + data: 'Change your sitting posture.' + }, + { + data: 'Expose your eyes to natural light.' + }, + { + data: 'With your eyes closed, slowly and gently raise your eyes to the ceiling and back down to the floor.' + }, + { + data: 'With your eyes closed, slowly and gently move your eyes to the left, then slowly to the right.' + }, + { + data: 'Shake your hands out to get some relief.' + }, + { + data: 'One at a time, touch the tip of each finger to the tip of your thumb so they make an O-shape.' + }, + { + data: 'Make a fist and then slide your fingers up until they point toward the ceiling, like you\'re telling someone to stop.' + }, + { + data: 'Make a fist and then fan your fingers out and stretch them as far as you can.' + }, + { + data: 'Sit tall, arms hanging at your sides, and slowly rotate neck in one direction in a large circle.' + }, + { + data: 'Stand tall and slowly tilt your head toward the shoulder using the same hand until you feel a strech.' + }, + { + data: 'Stand tall with your arms by your side. Squeeze your shoulder blades together and hold.' + }, + { + data: 'Stand tall with your arms raised along your shoulders. Move hands slightly behind your back, hold for a second and return.' + } +] diff --git a/src/utils/shuffled.js b/src/utils/shuffled.js new file mode 100644 index 0000000..06c1ced --- /dev/null +++ b/src/utils/shuffled.js @@ -0,0 +1,17 @@ +// Returns random elements from array without repetition +export class Shuffled { + constructor (array) { + this.array = array.slice(0) + this.temp = array.slice(0) + } + + get randomElement () { + if (this.temp.length === 0) { + this.temp = this.array.slice(0) + } + const randomIndex = Math.floor(Math.random() * this.temp.length) + const element = this.temp[randomIndex] + this.temp.splice(randomIndex, 1) + return element + } +} diff --git a/src/variables.scss b/src/variables.scss new file mode 100644 index 0000000..5488701 --- /dev/null +++ b/src/variables.scss @@ -0,0 +1,2 @@ +/* Variables and mixins declared here will be available in all other SCSS files */ /* https://github.com/jgthms/bulma/issues/1293 */ +$body-overflow-y: auto; diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f476ee48f42ea9f9805486fd577298c1c9d42d6f GIT binary patch literal 117562 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 WpCxVwTxFc9N`Jvl1=Bj9=h z6rT}ca2N?Rz^{OcXxPGm**FzA2fDm@47dR2af%2b+3)Z896$d6 z@H(&vm|>FAMWolPPz~G)9O2IHeK=J(wz^wEBi>a1h!7z{1cmrNsP+h$SU5aX00000 LNkvXXu0mjfiLkWp literal 0 HcmV?d00001 diff --git a/svelte.config.js b/svelte.config.js index 6ccba57..4a05a19 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,13 +1,32 @@ -import adapter from '@sveltejs/adapter-auto'; +import preprocess from 'svelte-preprocess' +import adapter from '@sveltejs/adapter-auto' /** @type {import('@sveltejs/kit').Config} */ const config = { - kit: { - adapter: adapter(), + kit: { + adapter: adapter(), - // hydrate the
element in src/app.html - target: '#svelte' - } -}; + // hydrate the
element in src/app.html + target: '#svelte', -export default config; + vite: { + css: { + preprocessorOptions: { + scss: { + additionalData: '@use "src/variables.scss" as *;' + } + } + } + } + }, + + preprocess: [ + preprocess({ + scss: { + prependData: '@use "src/variables.scss" as *;' + } + }) + ] +} + +export default config diff --git a/test/shuffled.js b/test/shuffled.js new file mode 100644 index 0000000..5756506 --- /dev/null +++ b/test/shuffled.js @@ -0,0 +1,21 @@ +import chai from 'chai' +import { Shuffled } from '../src/utils/shuffled.js' + +chai.should() + +describe('shuffled', function () { + beforeEach(function () { + this.microbreakIdeas = new Shuffled([1, 2, 3, 4]) + }) + + it('returns random elements without repetition', function () { + let sum = 0 + for (let i = 1; i < 20000; i++) { + sum += this.microbreakIdeas.randomElement + if (i % 4 === 0) { + sum.should.equal(10) + sum = 0 + } + } + }) +})